【发布时间】:2022-01-10 20:04:29
【问题描述】:
每次我为服务器或 PHP 设置时区格式时,我都会对冗余选项的数量感到困惑,例如:
American/Los_Angeles
US/Pacific
Etc/GMT-8
这些似乎都给出了相同的结果。一种格式是否应该优于另一种格式?有什么不同吗?
【问题讨论】:
标签: timezone
每次我为服务器或 PHP 设置时区格式时,我都会对冗余选项的数量感到困惑,例如:
American/Los_Angeles
US/Pacific
Etc/GMT-8
这些似乎都给出了相同的结果。一种格式是否应该优于另一种格式?有什么不同吗?
【问题讨论】:
标签: timezone
America/Los_Angeles(不是“美国”)是美国太平洋时区的首选 IANA 时区标识符。您可能应该使用这个,因为它是时区数据库中的规范“Zone”条目。
US/Pacific 是同一时区的别名。它是较旧的样式,从时区数据库使用国家名称作为前缀而不是更大的区域(大陆和海洋)开始。如果你愿意,你可以继续使用这个,因为它是时区数据库中的一个“链接”,它指向America/Los_Angeles。
Etc/GMT-8 对于美国太平洋时区不正确。它是 UTC+8 固定偏移量的管理标识符。它不包含有关夏令时的任何信息。另请注意,偏移量与我们通常习惯的 ISO-8601 偏移量相反。所以Etc/GMT-8 有一个固定的 UTC+8 偏移量。一般而言,Etc/GMT* 区域应仅用于非常特定的场景,例如在国际水域的海上船舶上进行计时。
您可能还想了解time zone database 并参考维基百科上的the list of time zones。
【讨论】: