如何获取Java 8中所有时区ID的列表?

Luk*_*101 0 java java-8

java.time软件包中,我没有看到获取可用时区ID列表的函数。我能够调用getAvailableIDs()java.util.TimeZone库。但是,我想改用Java 8。

有没有办法做到这一点?

Mic*_*ael 5

ZoneIdjava.time包装中存在。

ZoneId.getAvailableZoneIds()

该集合包括所有可用的基于区域的ID的字符串形式。基于偏移量的区域ID不包含在返回的集中。可以将ID传递给of(String)以创建ZoneId。

区域ID的集合可以随时间增加,尽管在典型的应用中ID的集合是固定的。对此方法的每次调用都是线程安全的。