Java 与 Mysql 时间相差八小时:
转载自https://blog.csdn.net/weixin_44653386/article/details/103529962
在项目中发现,Java获取时间插入到数据库少了8小时
其实初衷是想做定时去跑我需要的任务,然后把过程写回我的数据库表中。实际运行过成功发现,数据库表中的数据与程序实际执行的时间,相差了八个小时。
这样导致我当天凌晨1点执行完程序,但是数据库里却是上一天的时间,这样是远远不对的。
例如:
程序执行完时间:
数据库中写入时间:
解决过程
之前其实试过很多种方法,都不成功。
- 在程序中添加注释:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
不成功
- 网有人说在连接串里添加时区
&useTimezone=true&serverTimezone=GMT
不成功
- 还有说添加这个
&serverTimezone=GMT%2B8
不成功
最终解决方案
- 也是在连接串里添加:
&serverTimezone=Asia/Shanghai
成功
程序执行时间:
数据库数据时间:
最终还是因为时区的问题。