mysql 数据库时间字段时区问题

场景

项目中出现服务器时间正确,数据库时间正确,但是插入数据的时候时间出现时区问题,这边做下记录

`onWork_time` datetime DEFAULT NULL COMMENT '上班时间',
  `offWork_time` datetime DEFAULT NULL COMMENT '下班时间',
onWork_time offWork_time
2018-11-29 00:03:17 2018-11-29 00:17:34

如上表格中,时间时有问题的,正确的时间应该是14点多

因为用的是相对最新版的5.7版本MySQL以及相对应的新版驱动jar包,因此这里的driver和url写法与以前的不太一样。
这是最新版驱动包相对于的写法配置


        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

而以前版本的url写法只要jdbc:mysql://localhost:3306/ss 就够了。
修改为

 

在后面加上&serverTimezone=GMT%2b8

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

你可能感兴趣的:(数据库)