几天前,我发了一篇文章,用了回复中的建议。我有一个大型web应用程序,它托管在我们时区的服务器上,在这里我使用了当前时区的所有日期/时间戳。我应该使用UTC并在代码级别将其转换为适当的时区。
嗯,我现在正在做,但我有问题。我现在使用的服务器不在我的时区,时间戳(on )被设置为它们的系统(O/S)时间。不是UTC的时候。
为什么不:
SET time_zone = '+00:00';修正插入时间戳值吗?如何确保MySQL服务器将时间戳默认为UTC?
解决:
这非常令人困惑,因为MySQL会自动将数据库中的时间戳转换并显示为当前的时区,因此我的所有时间戳都被转换并显示到系统时区。实际上,所有时间戳都存储为UTC。所以如果你去:
SET SESSION time_zone = '+00:00'; SELECT * FROM what_ever_table;它将在该时区显示时间戳。
发布于 2012-10-25 14:54:00
MySQL在插入/更新值时不关心时区。它只看到时间/日期值和字符串。它的标准日期格式:yyyy-mm-dd hh:mm:ss没有包含时区数据。时区只在您检索数据并希望格式化值时才进入图片,例如使用Z()函数
https://stackoverflow.com/questions/13071287
复制相似问题