我正在使用 DATETIME 字段在 MySQL 中存储我的日期。没有直接指定任何时区(只有一个日期时间列)
但是当服务器上的时区发生更改时,MySQL 会根据新时区更新所有日期时间列。
实际上切换到 EDT 就是原因。
我不需要自动重新计算日期 - 只是想在其中存储特定日期。
因此,即使 tz 从 EST 日期手动更改为 UTC,如果是 2016-01-01 18:55,它在任何新的 tz 中也应该是相同的(从角色 POV)。
我没有运行任何脚本\查询来更新日期。
所以它要么由MySQL本身执行,要么由服务器执行。
需要建议我需要检查什么才能找到并禁用此类功能。
最佳答案
确保您使用的是 DATETIME
而不是 TIMESTAMP
[来自 MySQL 文档][1]:
MySQL converts
TIMESTAMP
values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such asDATETIME
.)
您还应该查看这篇文章(重复): Will changing a MySQL timezone change values of DateTime fields in a database?
关于mysql - 停止在 tz 更改时自动更改 MySQL 中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990146/