我的本地 MySQL 服务器有一个奇怪的问题。我有一个表,其 created_at 时间戳列默认设置为 CURRENT_TIMESTAMP。我读过的所有内容都表明这应该以 UTC 存储时间,然后将其转换回本地时间以进行显示。但是,它无法正常工作。我不确定它是否在显示屏上搞砸了或什么,但是当我读出时间戳时,它给了我 GMT 时间,而不是调整我当地的时区。这不是什么大问题,只是 NOW()给了我当地时间,所以我无法正确比较它们。我觉得我可能错过了一些愚蠢的东西,但是这里发生了什么?
如果重要的话,我在 64 位 Windows 8 下运行 MySQL 5.5.24(不幸的是)。
编辑:
更多地戳它显示,当我手动添加行时,时间戳工作正常;只是来自我的 PHP 的行很糟糕。我猜 PHP 连接出于某种原因必须覆盖默认时区。