我在stackoverflow上搜索过帖子,发现了一些类似的帖子。但我认为这是一个不同的帖子。我的PHP & Mysql服务器的时区全部设置为“UTC”。PHP strtotime返回不同值的Mysql UNIX_TIMESTAMP
在我使用时间戳字段的表,价值为 “2010-11-08二时54分15秒”,我用这样的SQL:
SELECT id,
updated,
second(updated) ,
unix_timestamp(updated)
FROM `transaction`
where id = 56
得到这个:
id updated second unix
--------------------------------------------
56 2010-11-08 02:54:15 15 1289184879
然后我在PHP中使用这样的:
echo strtotime("2010-11-08 02:54:15");
得到这个:
1289184855
不同的是24秒。
我检查这些时间戳http://www.unixtimestamp.com/index.php PHP的结果是正确的。所以mysql的unix_timestamp函数有bug? Mysql版本是:5.1.41
仅供参考,'SELECT UNIX_TIMESTAMP('2010-11-08 02:54:15');'给我在MySQL 5.1.37上的1289152455。 – deceze 2010-11-08 03:35:39
我也是,@deceze,我在MySQL 5.1.41上就像OP一样。 – ceejayoz 2010-11-08 03:37:24
我无法在5.1.49上重现,使用与TIMESTAMP或DATETIME相同的值。 – 2010-11-08 03:46:45