【问题标题】:PHP: Is there any difference between timezones which have same value?PHP:具有相同值的时区之间有什么区别吗?
【发布时间】:2015-12-30 13:40:07
【问题描述】:

例如,伦敦、里斯本和都柏林都在同一时间:

date_default_timezone_set('Europe/London');
echo date('D, d M Y H:i:s P');// Wed, 30 Dec 2015 13:30:51 +00:00

date_default_timezone_set('Europe/Lisbon');
echo date('D, d M Y H:i:s P');// Wed, 30 Dec 2015 13:30:51 +00:00

date_default_timezone_set('Europe/Dublin');
echo date('D, d M Y H:i:s P');// Wed, 30 Dec 2015 13:30:51 +00:00

如果时间相同,这些时区之间是否有任何隐藏的差异?比如:日光,任何特殊的计算,任何特定的函数都会给出不同的结果等等。还是完全一样?

我问这个是因为,例如,在巴林 'Asia/Bahrain' 是 +03:00,而在卡塔尔 'Asia/Qatar' 它也是 +03:00,所以如果我将其设置为巴林或卡塔尔真的会有所不同?

【问题讨论】:

  • 识别夏令时的地方将是唯一的主要区别,但真正与 GMT 的偏移是唯一被识别的东西。我不知道为什么它会很重要,如果它有效,它就会有效。
  • 鉴于 DST 在不同的日期/时间更改了与 GMT 的偏移量,因此存在显着差异。更改的确切日期/时间因管辖区而异,时区表示

标签: php time timezone unix-timestamp


【解决方案1】:

是的,不同时区之间存在许多差异。 PHP 使用 IANA/Olson 时区数据库,也简称为 TZDB。您可以阅读有关 tz 数据库的更多信息:

特别是,您可以看到每个区域都有一个独特的历史。虽然今天有些值可能相同,但它们在过去可能有所不同,无论是与 UTC 的偏移量、从一个偏移量到下一个偏移量的转换日期(出于 DST 和其他原因),以及每个时期使用的缩写。

例如,这里是指向您询问的区域的 tzdb 中条目的链接。从历史上看,您会发现它们彼此完全不同。

【讨论】:

    【解决方案2】:

    不... 他们是一样的……

    PHP 使用时区来计算日期和时间的差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-13
      • 2017-04-05
      • 2014-09-18
      • 2015-06-14
      • 2011-05-23
      • 2011-02-15
      • 2011-11-27
      • 2022-01-18
      相关资源
      最近更新 更多