PHP时区转换 - 错误的偏移(DST?)

时间:2017-05-15 14:11:21

标签: php datetime

我正在使用PHP 5.6.17,当我将时区从UTC转换为EST时,我预计会有4小时的差异,但我得到5小时差异。 我也试过使用EST5EDT时区,但结果更糟:

  

UTC:2017-05-15 10:00:00
  EST:2017-05-15 05:00:00
  EST5EDT:2017-05-15 01:00:00

**我依赖tz database

这是我使用的代码:

$tzUTC = new DateTimeZone('UTC');
$t = new DateTime(date("Y-m-d H:i:s"), $tzUTC);
echo "UTC: " . $t->format('Y-m-d H:i:s') . "\n";

$tzEST = new DateTimeZone('EST');
$t->setTimezone($tzEST);
echo "EST: " . $t->format('Y-m-d H:i:s') . "\n";

$tzEST5EDT = new DateTimeZone('EST5EDT');
$t->setTimezone($tzEST5EDT);
echo "EST5EDT: " . $t->format('Y-m-d H:i:s') . "\n";

为PHP定义的时区偏移量在哪里?如何更改它们?

我尝试安装PECL timezonedb module并将“extension = timezonedb.so”添加到php.ini,但它没有用。

提前致谢!

0 个答案:

没有答案