我使用的是joda时间,如果我想要太平洋时间,我需要知道使用哪个joda时区。我看到了几个jodatime时区:
- 太平洋/檀香山
- 美国/洛杉矶
- 美国/温哥华
- PST8PDT
当人们在现实世界中说"太平洋时间"时,哪一个是最合适的乔达时区?
感谢
首先,要认识到"太平洋时间"在某些地方是一个合法名称,在另一些地方则是一个惯例。
接下来,要意识到您提到的标识符不仅仅是Joda Time的标识符,而是IANA TZDB标识符的标准集合。你可以在这里找到一个列表,或者在这里和这里阅读更多关于它们的信息。
浏览您的列表:
-
Pacific/Honolulu
不起作用,这里的"太平洋"指的是太平洋,而不是太平洋时区。夏威夷是UTC-10,与PST使用的UTC-8或PDT使用的UTC-7相去甚远。 -
America/Los_Angeles
这是太平洋时间的最佳标识符-在美国。 -
America/Vancouver
这是加拿大太平洋时间的最佳标识符。 -
America/Tijuana
不在您的列表中,但将是太平洋时间在墨西哥的最佳标识符。 -
PST8PDT
-从技术上讲,这是可行的,但这只是因为它是为数不多的POSIX tz标识符之一,出于向后兼容性的目的(与早已消亡的系统),它被复制到了tzdb中。通常,您不应该使用POSIX标识符,原因在时区标记wiki中有描述。
还要注意,最后四个条目之间确实存在差异,主要与历史数据有关。如果你想知道确切的差异,你可以深入了解TZDB的北美文件。它们在这里不值得一提。