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

04-11 1730阅读 0评论

 

一:问题

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

二:知识点

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​编辑

 


 参考于

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


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1730人围观)

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

目录[+]