PHP - 日期('now')的输出比本地时间提前6小时,但时区设置为更正本地区域?

时间:2015-12-19 02:52:10

标签: php wordpress date timezone gmt

我在美国中部时区的密苏里州圣路易斯。我们是-6 GMT

php.ini中的PHP时区设置是date.timezone =“America / Chicago”

(芝加哥几乎就在圣路易斯以北。

回音日期('现在');产品:2015年12月19日凌晨2:45。编辑 - 我的意思是日期(“F j,Y,g​​:我是”,strtotime(“现在”));而不是日期('现在');

本地(日历和时钟)是2015年12月18日,晚上8:45。

这是phpinfo()

输出的日期信息
date/time support   enabled
"Olson" Timezone Database Version   2015.1
Timezone Database   internal
Default timezone    America/Chicago

Directive               Local Value     Master Value
date.default_latitude   31.7667         31.7667
date.default_longitude  35.2333         35.2333
date.sunrise_zenith     90.583333       90.583333
date.sunset_zenith      90.583333       90.583333
date.timezone           America/Chicago America/Chicago

我认为如果设置了正确的时区,日期('现在')将返回当地的时间和时间 - 但我没有注意到错误。

一般来说,我对date()函数或PHP日期处理缺少什么?

SimonT

1 个答案:

答案 0 :(得分:0)

您可以选择几种不同的方式来处理这个问题:

  • 您可以使用date_default_timezone_set覆盖Wordpress的时区设置。

  • 您可以使用PHP DateTime class代替date函数,该函数在构造函数中接受时区

  • 您可以在WP管理员/设置/常规部分更改Wordpress的时区设置:

screenshot

相关问题