数据库入库时间相差13个小时问题排查与解决(示例代码)

栏目: 十大 · 发布时间: 2021-03-04

来源:cnblogs.com

简介  这篇文章主要介绍了数据库入库时间相差13个小时问题排查与解决(示例代码)以及相关的经验技巧,文章约1180字,浏览量414,点赞数8,值得参考!

在测试时发现插入数据库后的时间值与预期存在偏差,比实际时间慢13个小时
排查步骤:
1.因为是是远程数据库,所以首先考虑是不是服务器时间设置存在问题
技术图片
和实际时间一致,该条排除
2.考虑是不是数据库时区设置问题
技术图片

和实际时间一致,该条排除
3.考虑Java代码在插入数据库之前对值做了改变
在步骤1查看服务器时间时,可以看到时间后面有个CST
技术图片
由上图可以知道美国中部时间和中国标准时间相差14个小时,非常接近相差的13个小时。因为当前是夏季,所以刚好是相差13个小时。
至此可以初步判断应该是Java将CST理解成了美国中部时间。
3.1 验证
在数据库连接代码中加入时区设置

jdbc:mysql://xxx.xxx.xxx.xxx/xx?serverTimezone=Hongkong

  

经过测试,发现问题得以解决。

 


以上就是本文的全部内容,希望对大家的学习有所帮助,版权归原作者或者来源机构所有,感谢作者,如果未能解决你的问题,请参考以下文章。

Java 时间不一致(示例代码)

http目录显示时间与服务器相差8小时(示例代码)

在MongoVUE中发现插入的时间和实际的时间相差8小时?

关于 django 的时区设置与MySQL 时间相差8小时

Springboot项目JSON字符串化后时间戳与当前时间相差8小时(示例代码)