相关推荐recommended
MySQL | 往数据库中插入时间时,差了八个小时(时区设置)
作者:mmseoamin日期:2024-02-03

 

一:问题

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

二:知识点

UTC:Coordinated Universal Time 协调世界时。

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

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

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

 

三:原因

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

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

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

四:解决方法

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

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

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

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

 


 参考于

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