1.问题
Java代码插入的记录时间与保存到MYSQL数据库后的时间不一致,时间相差8小时,例如:
-
Java代码里插入的时间为:2021-04-12 14:57:53
-
数据库里面显示的时间为:2021-04-12 06:57:53
2.原因分析
JDBC连接时设置了serverTimezone=UTC;
UTC代表的是全球标准时间 ,而我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
所以造成了我们Java代码插入的记录时间与保存到MYSQL数据库后的时间不一致,时间相差了8个小时。
3.解决方案
1、解决办法也很简单,明确指定 MySQL 数据库的时区
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)
2、数据库连接配置也需要修改一下。