JDBC连接数据库 mysql serverTimezone存储时间戳少8小时的问题

问题:Java存储时间戳发现少了8小时

排查:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC
换成
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8

问题解决

在这里插入图片描述
前者为修改之前的UTC
后者为修改之后的GMT

//指定时区为北京时间东八区
serverTimezone=GMT%2B8 

如果你设置serverTimezone=UTC,连接不报错,
但是我们在用java代码插入到数据库时间的时候却出现了问题。
比如在java代码里面插入的时间为:2018-06-24 17:29:56
但是在数据库里面显示的时间却为:2018-06-24 09:29:56
有了8个小时的时差
UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。

//北京时间东八区
serverTimezone=GMT%2B8 
//或者使用上海时间
serverTimezone=Asia/Shanghai

参考链接:https://blog.csdn.net/love20yh/article/details/80799610

你可能感兴趣的:(Java)