MySQL DEFAULT CURRENT_TIMESTAMP不适用于时区?

时间:2013-01-09 18:50:44

标签: mysql timezone timestamp

我的本​​地MySQL服务器有一个奇怪的问题。我有一个表,默认情况下created_at timestamp列设置为CURRENT_TIMESTAMP。我读过的所有内容都表明这应该以UTC格式存储时间,然后将其转换回本地时间进行显示。但是,它无法正常工作。我不确定它是不是搞砸了显示器或什么,但当我读出时间戳时,它给了我GMT时间而不是调整我当地的时区。这不会是一个大问题,除了NOW() 给我当地时间,所以我无法正确地比较它们。我觉得我可能错过了一些愚蠢的东西,但是这里发生了什么?

如果重要的话,我在64位Windows 8下运行MySQL 5.5.24(不幸的是)。

编辑:

更多地发现,当我手动添加行时,时间戳工作正常;它只是来自我的PHP的行很棘手。我想PHP连接必须由于某种原因覆盖默认时区。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

阿哈!我的PHP服务器和我的MySQL服务器使用不同的时区。需要将date.timezone = America / New_York添加到我的php.ini文件中。