PHP date() 返回不正确的时间(关闭一小时)


PHP date() returns incorrect time (off one hour)

PHP 5.2.17.服务器上的时间是9:40,时区是欧洲/莫斯科:

Tue Nov 12 09:40:59 MSK 2013
  • 以 php.ini 为单位的时区设置为:date.timezone 欧洲/莫斯科
  • date_default_timezone_set() 设置的时区是欧洲/莫斯科

但是 date() 函数返回一小时后的时间:

echo date_default_timezone_get() . date(" Y-m-d G:i:s")

输出:

Europe/Moscow 2013-11-12 8:40:59

我该如何解决这个问题?我尝试安装最新的/usr/share/zoneinfo 并得到相同的结果

感谢Bhavik Shah,我找到了答案:

pecl install timezonedb

然后在php中添加了"extension=timezonedb.so".ini