我相信我会发疯。
$expire = date('Y-m-d H:i:s', strtotime("+30 minutes") );
当回显时,它按预期工作,但当我通过wordpress数据库类将其插入自定义表时,进入datetime
列,显示当前时间减去30分钟。
我生气了吗?
答案 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,无论哪种方式都需要