我正在使用DATETIME字段在MySQL中存储我的日期。没有直接指定任何时区(只有一个日期时间列)
但是当服务器上的时区发生变化时,MySQL会根据新的时区更新所有日期时间列。
实际上切换到EDT是原因。
我不需要自动重新计算日期 - 只想在其中存储特定日期。
因此,即使从EST日期手动更改为UTC,也应该相同(来自字符POV),如果它是2016-01-01 18:55它应该在任何新的tz中相同..
我没有运行任何脚本\查询来更新日期。
所以它由MySQL本身或服务器执行。
需要建议我需要检查以查找和禁用此类功能。
答案 0 :(得分:0)
确保您使用的是DATETIME
而不是TIMESTAMP
[来自MySQL文档] [1]:
MySQL将
TIMESTAMP
值从当前时区转换为UTC进行存储,然后从UTC返回到当前时区进行检索。 (对于其他类型,例如DATETIME
,不会发生这种情况。)
您还应该查看此帖子(重复): Will changing a MySQL timezone change values of DateTime fields in a database?
答案 1 :(得分:0)
我为我带来的烂摊子感到抱歉 只是扩展我的查询以获取一些旧日期 - 它看起来没有变化
我的代码中的错误是错误的。
无论如何 - 感谢您的帮助