MySQL | 往数据库中插入时间时,差了八个小时(时区设置)

 

一:问题

在往数据库中插入(读取)时间的时候,会相差八个小时,这是常见的问题,原因是因为时区设置的问题

二:知识点

UTC:Coordinated Universal Time 协调世界时。

GMT:Greenwich Mean Time 格林尼治标准时间。(在协调世界时意义上的0时区,即GMT = UTC+0)

中国的时间是【东八区】,比GMT多八个小时,即 GMT+8(或UTC+8,但习惯上还是用GMT+8)

UTC和GMT什么关系?125 关注 · 15 回答问题

 

三:原因

我们的系统时间是东八区,而我们连接数据库的时候若写成这样:

MySQL | 往数据库中插入时间时,差了八个小时(时区设置)

那么程序就会自动将我们获取到的系统时间减去八小时存入数据库,这就是数据库存取时间差距八小时的原因

四:解决方法

将serverTimezone=UTC改为serverTimezone=GMT%2b8即可(GMT%2b8是GMT+8的意思)

MySQL | 往数据库中插入时间时,差了八个小时(时区设置)

时区差8小时问题解决 – 理性思考的个人空间 – OSCHINA – 中文开源技术交流社区​

my.oschina.net/lixingsikao/blog/4313409​编辑

 


 参考于

往数据库中插入时间时,差了八个小时(时区设置) – 知乎

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/c7d03e7ff9.html