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

本文讨论了在处理数据库操作时遇到的时区差异问题,解释了UTC和格林尼治标准时间的关系,以及中国东八区与UTC的关系。作者指出,当系统时间设置错误可能导致时间差8小时,并提供了将serverTimezone设置为UTC+8以解决问题的方法。
摘要由CSDN通过智能技术生成

一:问题

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

二:知识点

UTC:Coordinated Universal Time 协调世界时

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

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

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

三:原因

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

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

四:解决方法

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

 

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值