我目前正在研究一个需要拉动时区的项目修复程序,但它不再是3个字母的缩写。这是美国/芝加哥(对我来说(,但是我需要知道,似乎找不到美国每个时区的默认时区ID。
在此列表中查看标有"典范"的列表。
简单的答案是没有"默认"。如果您拥有的只是三个字母的时区ID,则应选择最适合您应用程序的OLSEN ID。
如果您正在寻找50个美国的当前主要IANA/OLSON时区标识符的简化列表,则(如2018年2月在此写作时(,它们如下:
America/New_York
-东部时间
America/Chicago
-中央时间
America/Denver
-山时间(亚利桑那州大部分地区(
America/Phoenix
-山区时间(亚利桑那州大部分(
America/Los_Angeles
-太平洋时间
America/Anchorage
-阿拉斯加的大部分
America/Adak
-阿拉斯加 - 阿留申群岛
Pacific/Honolulu
-夏威夷
当然,此列表中没有许多美国领土。还请记住,即使是美国的时区也随着时间的推移发生了变化,因此,如果您想要历史准确性,也应该使用许多其他America/Indiana/Indianapolis
。
给定您使用标签java
,我想您正在寻找基于Java的解决方案:
import java.util.Arrays;
import java.util.TimeZone;
public class PrintTimeZones {
public final static void main(String[] args) {
String[] tz = TimeZone.getAvailableIDs();
Arrays.stream(tz)
.filter(elem -> elem.startsWith("US/"))
.forEach(System.out::println);
}
}
这将打印仅美国的时区。您可能会将过滤器更改为startsWith("America/")
,该过滤器将返回更多结果(包括南美,墨西哥和卡纳达(。