bootspring网站项目,Date类型插入数据库始终比正确时间早一天问题的解决

bug描述

昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天

输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天

https://blog.csdn.net/qq_37630354/article/details/82814330

尝试解决

尝试在application.property 中设置时区未果:

#time-zone start
spring.jackson.time-zone=GMT+8
#time-zone end

后来在大神一句“你们数据库是怎么连的”,我才发现application.property连接数据库的配置中已经有一句时区的设置,在第一行设置的url的末尾:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/studentsManagement?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

其实serverTimezone这个参数最初是没有的,报了下面的错:

The server time zone value ‘?D1ú±ê×?ê±??‘ is unrecognized or

represents .....

参考博客:https://blog.csdn.net/qq_37630354/article/details/82814330 之后才加上去的。

首先我的第一印象也是改成GMT+8,但是报错:

No timezone mapping entry for ‘GMT 8

后来直接删掉&serverTimezone=GMT,结果还是报了最初的时区乱码错:

The server time zone value ‘?D1ú±ê×?ê±??‘ is unrecognized or

represents .....

又把GMT改成UTC,不报错了,但时间还是差一天。

自己重看之前那篇参考博客,以及大神指点,发现应该写成GMT%2B8,因为

“url里面,+都要用%2b”。

就好了!

bug就解决了!!

原文地址:https://www.cnblogs.com/YuQiao0303/p/10054374.html

时间: 2024-10-27 09:54:23

bootspring网站项目,Date类型插入数据库始终比正确时间早一天问题的解决的相关文章

SpringBoot Date类型插入数据库始终比正确时间早一天问题解决办法

bug描述 昨天的Date插入不进去问题解决后,一直没发现其实插入的时间一直比正确的时间早一天 输出sql语句,发现insert语句还是对的,不知道为什么插入数据库之后结果就早了一天 https://blog.csdn.net/qq_37630354/article/details/82814330 尝试解决 尝试在application.property 中设置时区未果: #time-zone start spring.jackson.time-zone=GMT+8 #time-zone en

网站项目中如何插入视频

<script src="js/jquery.flash.js" type="text/javascript"></script>           <script type="text/javascript">               $(document).ready(function () {                   $('#myplayer').flash({             

sql插入数据库的数据值包含单引号(’)等解决方法

String dvalue = 'insert 添加语句'; dvalue.replaceAll("单引号'", "双单引号‘’"): 也可以去除查询语句中的空格 String str = 'select * from 表格'; str.replaceAll(" ", ""); 原文地址:https://www.cnblogs.com/yanchaohui/p/10895869.html

Oracle数据库以date类型保存日期时,Java中用哪个类对应数据库的date类型?

1. 使用JDBC操作Oracle数据库时,使用java.sql.Date类型对应数据库的date类型,此时只能保存和读取日期部分, 时间(时分秒)部分不能读取和保存:  查询结果集可以直接获取Date类型的数据:java.sql.Date date=resultSet.getDate("dateTime"): java.sql.Date类型的数据也可以直接保存到数据库或者与数据库中date类型的数据直接比较大小: 字符串的日期,则用SQL语句的转换函数 to_date('2017-4

java用POI读取excel时date类型出现的问题

最近用poi读取excel并传入数据库中,但是出现了一个非常奇葩的问题,一直困扰了我很久 就是读取时date类型出现年份和日读取正确,但是月份为00的情况,我冥思苦想了很找了久,一直找不到原因 今天突然发现时自己粗心导致的 之前的错误代码: Date time=new Date(); time=cell.getDateCellValue(); //按指定格式输出 SimpleDateFormat df=new SimpleDateFormat("yyyy/mm/dd hh:mm:ss"

java中java.util.Date和java.sql.Date区别以及数据库的Date和DateTime

在设计数据库和java类的时候经常用到Date类型,数据库的CREATE_TIME字段用varchar类型还是String类型?刚入门的人总会感觉String更好用,因为截取就行了,而且数据库和java类之间无缝衔接,反正传过取是什么就存什么,不需要担心其他的,只要管好在java代码中生成的时间信息并转化成String就万事大吉了. 但实际上正规的还是用Date来存储,因为String类型如果出现空值,截取的时候回报错,而且在其他处理时间值的类型上还要转来转去,经常看到说针对sql使用java.

Date类型常用概念及方法总结(1)

Date类型使用UTC(国际协调时间)1970年1月1日零时开始经过的毫秒数来保存时间. (1)创建当前日期 调用Date不传递参数的情况下,创建的新对象自动获得当前日期和时间(本地时区). var now=new Date(); (2)创建特定的日期和时间 如果要创建特定的日期对象,必须传入表示该日期的毫秒数(即从UTC时间1970年1月1日至该日期的毫秒数).为简化这一过程,ECMAScript提供了两个方法:Date.parse()和Date.UTC(): var time1=new Da

SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用

使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBinder类来操作. /* 以下资料来自网络 */ 用@InitBinder注解的控制器方法,允许你直接在你的控制器类中配置 Web 数据绑定.@InitBinder标记初始化WebDataBind

向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE(&#39;{0}&#39;,&#39;YYYY-MM-DD&#39;))

需要指出的是,C#中有datetime类型,但是这个类型是包括小时,分钟,秒的.这个格式与数据库中的Date类型不符,如果将now设为datetime类型插入数据会失败. 需要通过TO_DATE('字段','YYYY-MM-DD'))转换.如下: string.Format("insert into tablename (TIME) values(TO_DATE('{0}','YYYY-MM-DD'))",now) 错误写法: string.Format("insert in