时区问题时间相差13小时

2022-06-08  本文已影响0人  程序男保姆

【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';

上一篇 下一篇

猜你喜欢

热点阅读