我需要添加仅为北美更改时区的功能。共有六个时区,包括夏威夷和阿拉斯加。
我在美国东部,所以我的时区是东部。在为我的位置选择时区时,我可以选择纽约,芝加哥和其他几个。我不确定为什么有这么多不同的时区都解决了相同的偏移量;除非因为夏令时。
我基本上都在寻找这六个区域:
有人可以告诉我为什么有这么多不同的时区可以选择解决相同的偏移?
答案 0 :(得分:7)
从PECL时区数据库中提取PHP时区列表。 PECL时区数据库来自“Olson”数据库,该数据库由IANA组织维护。
On the IANA website, they state the following about their upkeep of the timezone database:
时区数据库(通常称为tz或zoneinfo)包含代码和 表示许多代表的当地时间历史的数据 全球各地。它会定期更新以反映出来 政治机构对时区边界,UTC补偿, 和夏令时规则。其管理程序记录在案 BCP 175:维护时区数据库的程序。
由于并非所有州都使用夏令时(亚利桑那州,夏威夷州,波多黎各,例如不使用夏令时),时区的主题变得更加复杂。
因此,从中可以得出结论,特定城市的时区基于其区域边界,夏令时规则和其他政治因素。因此,仅仅因为某个城市恰好在西部,并不意味着它保证是PST,例如。
此外,通过手动将西部地区设置为PST在技术上可维护性低于设置其实际国家/城市时区标识符的可维护性,因此,如果将来它们的偏移量发生变化,您的应用程序将继续设置正确的时间。