PHP DateTime UTC怪异行为

时间:2018-10-17 10:03:31

标签: php date datetime utc

这是示例代码:

$d = new DateTime('@1539691200');
$d->setTimezone(new DateTimeZone('UTC'));
var_dump($d);

如您所见,DateTime是根据时间戳构造的,因此服务器的时区将被忽略。然后,将时区设置为“ UTC”,该值在所有地方都应该相同。但是无论如何,这是我机器上的输出:

object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2018-10-16 13:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}

这是here的输出:

object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2018-10-16 12:00:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(3) "UTC"
}

那为什么会发生呢? UTC在不同服务器上如何不同?可能是timezonedb问题吗?

0 个答案:

没有答案