mysql时区设置为东八区

场景:后台返回给页面的时间统一差8小时。

分析:差八小时,应该是时区问题。具体的是哪一层出的问题呢,mybatis?mysql?系统时间?

解析:

1.查询mysql时区(正常)

输入show variables like "%time_zone%";,显示当前时区

全局参数system_time_zone
系统时区,在MySQL启动时会检查当前系统的时区并根据系统时区设置全局参数system_time_zone的值。

全局参数time_zone

用来设置每个连接会话的时区,默认为system时,使用全局参数system_time_zone的值。

中国标准时间=CST(China Standard Time) UT+8:00 。

mysql的时区=system_time_zone+time_zone

2.mybatis的时间出问题啦?系统时间出问题啦?

  代码debug调试,显示代码取的当前系统时间正常,但是写入库的时候就异常差了八小时。初步怀疑是mybatis的什么配置异常导致。

  mybatis我找到可能影响时区的就是连接串上的配置,,尝试将这个改为

  

  运行test方法插入数据库,时间已修正。

综上确认问题:mybatis的连接串上的时区设置异常,导致插入日期数据时区异常

参考链接:

https://www.cnblogs.com/moss_tan_jun/p/5730005.html

猜你喜欢

转载自www.cnblogs.com/potatoChicken/p/11349113.html