PHP time()函数返回一小时的随机时移

时间:2010-09-05 18:00:54

标签: php time

我有一些PHP代码可以在表中插入日期:

INSERT INTO tblEventLog VALUES  ...  date("Y-m-d H:i:s",time())  ...

结果通常是正确的,但偶尔的日期落后一小时:

315070  05-Sep-10 18:08
315069  05-Sep-10 18:07
315068  05-Sep-10 18:07
315067  05-Sep-10 18:06
315066  05-Sep-10 18:06
315065  05-Sep-10 17:04
315064  05-Sep-10 18:01

可能导致这种情况的原因是什么?只有一台服务器。

编辑:
使用NOW()工作!
问题是其中一个PHP页面正在改变时区(创建RSS提要时),PHP time()函数正在提取它。使用数据库设置固定时间的东西。

1 个答案:

答案 0 :(得分:2)

我不确定是什么原因引起的。我建议将列数据类型切换为DATETIME,如果您只是插入当前时间,则使用MySQL的NOW()函数,而不是在PHP中占用时间。你在数据库中直接做的越多越好。这样做可以完全消除这个错误。