我在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