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

柔情只为你懂 2021-11-16 05:54 751阅读 0赞

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

正文

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

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

解决方式

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

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

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

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

其中





















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

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

发表评论

表情:
评论列表 (有 0 条评论,751人围观)

还没有评论,来说两句吧...

相关阅读