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



我遇到了一个非常奇怪的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

知道为什么吗?

我找到了答案。

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

http://www.australia.gov.au/about-australia/facts-and-figures/time-zones-and-daylight-saving

您的第二个时间戳与DST一致。第一个还没有

相关内容

  • 没有找到相关文章

最新更新