我目前正在开发一个需要拉动时区的项目修复,但它不再是3个字母的缩写。这是美国/芝加哥(对我来说),但我需要知道,似乎无法找到美国每个时区的默认时区ID。
答案 0 :(得分:3)
在this list中查找标有“规范”的内容。
简单的答案是没有“默认”。如果您拥有的是三个字母的时区ID,则应选择最适合您应用的Olsen ID。
答案 1 :(得分:1)
鉴于您使用了标记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/")
,这将返回更多结果(包括南美洲,墨西哥和Kanada)。
答案 2 :(得分:1)
如果您正在寻找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
。