【问题标题】:PHP date() returns different timezones for different timestampsPHP date() 为不同的时间戳返回不同的时区
【发布时间】:2017-01-24 10:02:59
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: php date timezone


    【解决方案1】:

    我找到了答案。

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

    【讨论】:

      【解决方案2】:

      【讨论】:

      • @Stalinko 谢谢。一开始我也觉得很奇怪,直到看到日期,才想到夏令时。而当我找到澳大利亚夏令时的信息时,我就知道了。 :-)
      猜你喜欢
      • 2012-12-05
      • 2012-11-26
      • 2017-10-04
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多