Java:mysql-Date字段映射java.sql.Date日期偏差14个小时

Java:mysql-Date字段映射java.sql.Date日期偏差13个小时,估计是时区的问题。观察到Java程序日志的时间是正常的,因此怀疑mysql的时区问题。

1)先检查mysql时区

 show variables like "%time_zone%";

返回结果

system_time_zone CST

2)什么是CST

mysql在5.7版本默认的时区为.美国中部时间 Central Standard Time (USA) UTC-06:00,跟中国的UTC+08:00正好相差14个小时。

 

解决方案:

1)配置mysql的时候,使用UTC+08:00时区(推荐)

default-zone-time='+8:00'

PS:注意,在使用其他时区前,必须参考导入其他时区配置(https://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html)

2)配置JDBC连接参数,serverTimezone=Asia/Shanghai

你可能感兴趣的:(Java)