-1

我相信我要疯了。

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

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

我疯了吗?

4

2 回答 2

1

简单地给出您正在使用的时间范围,假设您在您所在的地方观察夏令时,我想知道您是否看到标准/夏令时冲突。

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

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

希望这可以帮助!

于 2013-08-01T13:35:50.530 回答
0

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

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

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

或检查您的 php.ini 以了解此设置

date.timezone = UTC

并为您的特定时区正确设置,这是您需要的支持时区列表

于 2013-08-01T13:35:34.707 回答