我在 stackoverflow 上搜索过帖子,发现了一些类似的帖子。但我认为这是一篇不同的帖子。
我的 PHP 和 Mysql 服务器的时区全部设置为“UTC”。
在表中我使用时间戳字段,值为“2010-11-08 02: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 http://www.unixtimestamp.com/index.phpphp结果是正确的。那么mysql unix_timestamp函数有bug吗? Mysql版本是:5.1.41
已确认这是一个错误,已在 5.1.44 中修复。
See http://bugs.mysql.com/bug.php?id=51918 http://bugs.mysql.com/bug.php?id=51918详细信息,bug发布者准确地发现了这个问题。
您别无选择,只能通过升级来避免它的出现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)