首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL时区混淆

MySQL时区混淆
EN

Stack Overflow用户
提问于 2012-10-25 14:51:19
回答 1查看 10.3K关注 0票数 2

几天前,我发了一篇文章,用了回复中的建议。我有一个大型web应用程序,它托管在我们时区的服务器上,在这里我使用了当前时区的所有日期/时间戳。我应该使用UTC并在代码级别将其转换为适当的时区。

嗯,我现在正在做,但我有问题。我现在使用的服务器不在我的时区,时间戳(on )被设置为它们的系统(O/S)时间。不是UTC的时候。

为什么不:

代码语言:javascript
复制
SET time_zone = '+00:00';

修正插入时间戳值吗?如何确保MySQL服务器将时间戳默认为UTC?

解决:

这非常令人困惑,因为MySQL会自动将数据库中的时间戳转换并显示为当前的时区,因此我的所有时间戳都被转换并显示到系统时区。实际上,所有时间戳都存储为UTC。所以如果你去:

代码语言:javascript
复制
SET SESSION time_zone = '+00:00'; SELECT * FROM what_ever_table;

它将在该时区显示时间戳。

EN

回答 1

Stack Overflow用户

发布于 2012-10-25 14:54:00

MySQL在插入/更新值时不关心时区。它只看到时间/日期值和字符串。它的标准日期格式:yyyy-mm-dd hh:mm:ss没有包含时区数据。时区只在您检索数据并希望格式化值时才进入图片,例如使用Z()函数

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13071287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档