我遇到了一个非常奇怪的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一致。第一个还没有