添加30分钟的PHP日期,插入MySQL datetime列时会反转

时间:2013-08-01 13:26:23

标签: php mysql wordpress date

我相信我会发疯。

$expire = date('Y-m-d H:i:s', strtotime("+30 minutes") );

当回显时,它按预期工作,但当我通过wordpress数据库类将其插入自定义表时,进入datetime列,显示当前时间减去30分钟。

我生气了吗?

2 个答案:

答案 0 :(得分:1)

只要给出您正在使用的时间范围,就会让我想知道您是否看到标准/日光时间冲突,假设您在夏令时间内观察到了。

首先,看看您是否遇到与“+60分钟”作为测试相同的问题。如果它在数据库中是-60,那么它可能是一个bug,但是,如果它是数据库中的当前时间,它实际上可能是时区问题。

确保在主机操作系统和数据库中正确配置了所有时区。如果数据库列的类型为“timestamp”,则mysql converts将其存储为UTC,然后返回检索,因此错误配置的时区也可能导致1小时的偏移。

希望这有帮助!

答案 1 :(得分:0)

所有日期和时间功能现在都取决于正确的时区设置。

您可以在脚本中执行此操作

date_default_timezone_set('America/Los_Angeles');  // for example

OR 检查你的php.ini以获取此设置

date.timezone = UTC

并针对您的特定时区进行正确设置,此处为List of supported timezones,无论哪种方式都需要