如何获得Java 8中所有时区ID的列表
问题描述:
在java.time类中,我看不到一个函数来获取可用的时区id列表。我可以拨打java.util.TimeZone
库中的getAvailableIDs()
。不过,我想用Java 8代替。有没有办法做到这一点?如何获得Java 8中所有时区ID的列表
答
ZoneId
存在于java.time
包中。你是这个意思吗?
本集包括所有可用的基于区域的ID的字符串形式。 返回集中不包含基于偏移的区域ID。 ID可以通过 传递给(String)来创建ZoneId。
尽管在典型的 应用程序中,该组ID是固定的,但该区域ID的集合可以随时间增加。每次调用此方法的线程安全性为 。
为什么你不能使用'java.util.TimeZone'? [它在Java 8中可用](https://docs.oracle.com/javase/8/docs/api/index.html?java/util/TimeZone.html)。 –
如何从'java.time.ZoneId'设置' getAvailableZoneIds()'(自1.8开始),请参阅https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html参考 –
@ Code-Apprentice java.util.TimeZone的问题是它不会过滤不推荐的3个字符时区,如BST,EST等。 – long