数据库存储的时间与数据读取时间相差14个小时

最近开了一个新项目,做着做着发现数据库的时间跟我读取出来的时间相差了14个小时,好神奇啊,就去网上查了一下,说是数据库时区问题。

show variables like '%time_zone%'在数据库里面敲上这个发现时区是CST确实跟文章说的一样是,但是我去我的旧项目的数据库查了一下一样的啊。
我又上网找了别的帖子,说是需要连接数据库的时候需要设置时区,所以我就在数据库连接上加了&serverTimezone=Asia/Shanghai,结果好了。

但是为什么旧项目不需要呢???
后来发现是版本问题,旧项目的版本是5.1.0新项目都更新到8.0.13
6.0.0之后版本就需要设置时区了,所以我的会有时间差。
网友说如果不设置会有异常
java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

但是我没有设置也没有出问题,具体原因我也不是很清楚。

不过开始新项目之后出现问题有一部分的原因就有可能是新版本,加油吧!

发布了30 篇原创文章 · 获赞 5 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/syr1136877833/article/details/85207715