今天突然发现 用程序保存的mysql的时间类型字段,差了14小时。
觉的奇怪,一查果然早有人遇到过同样的问题。
也早上有人 找到了解决方案,非常详细值得学习
https://www.cnblogs.com/jason1990/p/10032181.html
解决方案
参照https://juejin.im/post/5902e087da2f60005df05c3d.
mysql> set global time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
mysql> set time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
告知运维设置时区,重启MySql
服务,问题解决.
此外,作为防御措施,可以在jdbc url
中设置时区(如此设置可以不用修改MySql
配置):
jdbc:mysql://localhost:3306/table_name?useTimezone=true&serverTimezone=GMT%2B8
此时,就告知连接进行时区转换
,并且时区为UTC+8
.