Mysql插入java系统生成Timestamp时,数据出错

在使用

new Timestamp(System.currentTimeMillis())创建Timestamp插入到数据库中时会出现时间不对问题,这是因为数据库时区问题

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

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

示例:

url: jdbc:mysql://127.0.0.1:3306/xxx?characterEncoding=utf-8&serverTimezone=GMT%2b8

在url后加入&serverTimezone=GMT%2b8即可解决

猜你喜欢

转载自blog.csdn.net/qq_42500503/article/details/108478460