【Java】存入MySQL时间相差13小时
1.查看linux服务器的系统时间
`date`
Thu Jun 6 11:36:22 CST 2019
没问题
2.log查看 Java 调用 new Date()
时间没问题
3.查看数据库时间
show variables like '%time_zone%';
select now();
SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);
时间没问题。
4.定位问题
java将正确的时间传给了数据库,存起来就变成了不一样的时间。
所以猜测是java连接数据库出了问题。
mysql-connector-java的8.0后的版本会影响读取到的时区值
5.解决方案
Java 连接数据库时指定时区。
&serverTimezone=Asia/Shanghai
1 mac
sudo systemsetup -gettimezone
2 linux
timedatectl
3 mysql
show variables like'%time_zone';
网友评论