PHP strtotime返回Mysql UNIX_TIMESTAMP的不同值

2024-05-09

我在 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(使用前将#替换为@)

PHP strtotime返回Mysql UNIX_TIMESTAMP的不同值 的相关文章

随机推荐