Java 读取mysql时间timestamp差8小时问题

发布时间:2023-05-23 15:30

再写数据库同步时,遇到Java读取主数据库存入从库时,时间不一致。

正文

写项目时,对于timestamp类型的数据,Java查出来的数据比mysql慢8小时。比如:
mysql内的数据是 2019-08-01 13:31:10 Java查出来是 2019-08-01 05:31:10。

  • 这个问题刚好跟网上常见的相反。

解决方式

可以肯定的是时区出了问题了。

  • 查询数据库时区:
    show variables like \'%time_zone%\';

\"Java
CST是美国,澳大利亚时间,这样的话是Java查询数据库时错误的认为我是东八区时间,所以查出来减8到标准时间。

  • 然后 复习 Java连接mysql Url参数。

其中

参数名 默认 意义
useTimezone false
serverTimezone mysql服务器的时区

跟这两个有关,
这里我把这两个参数设置为:
useTimezone=true&serverTimezone=GMTserverTimeZone 的值要根据不同情况区别对待。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号