PHP date()为不同的时间戳返回不同的时区

时间:2016-09-16 08:33:30

标签: php date timezone

我遇到了一个非常奇怪的php date()函数行为。

请参阅此代码:

date_default_timezone_set('Australia/Melbourne');
echo date('P', 1475000000) . ' ' . date('P', 1475700000);

返回+10:00 +11:00 虽然必须始终+10:00。 Unix时间戳中没有内容时区,这就是date()必须返回当前配置的时区的原因。

PHP 5.6.23版

任何想法为什么会这样?

2 个答案:

答案 0 :(得分:3)

我找到了答案。

这是因为澳大利亚在10月2日改变了时间。一个时间戳在它之前,而另一个时间戳在之后,这就是为什么一切都正确。 谢谢大家的关注。

答案 1 :(得分:0)