为什么有多个时区选择都可以解析为EST?

NaN*_*NaN 4 php timezone localization

我需要添加仅为北美更改时区的功能.共有六个时区,包括夏威夷和阿拉斯加.

我在美国东部,所以我的时区是东部.在为我的位置选择时区时,我可以选择纽约,芝加哥和其他几个.我不确定为什么有这么多不同的时区都解决了相同的偏移量; 除非因为夏令时.

所有我基本上都在寻找这六个区域:

  • 美东时间
  • CST
  • MST
  • 太平洋标准时间
  • AKST
  • HST

有人能告诉我为什么有这么多不同的时区可以选择解决相同的偏移?

Kri*_*ian 7

PHP时区列表从PECL时区数据库中提取.PECL时区数据库来自"Olson"数据库,该数据库由IANA组织维护.

在IANA网站上,他们说明了他们维护时区数据库的情况:

时区数据库(通常称为tz或zoneinfo)包含代表全球许多代表性地点的当地时间历史的代码和数据.它会定期更新,以反映政治机构对时区边界,UTC偏移和夏令时规则所做的更改.其管理程序记录在BCP 175:维护时区数据库的程序中.

由于并非所有州都使用夏令时(亚利桑那州,夏威夷,波多黎各,例如不使用夏令时),时区的主题变得更加复杂.

因此,从中得出的结论是,特定城市的时区基于其区域边界,夏令时规则和其他政治因素.因此,仅仅因为一些城市恰好在西部,并不意味着它保证是PST,例如.

此外,通过手动将西部地区设置为PST在技术上可维护性低于设置其实际国家/城市时区标识符的可维护性,因此,如果将来它们的偏移量发生变化,您的应用程序将继续设置正确的时间.