是否可以在 Java 中按区域设置列出可用的时区?

Eri*_*ric 3 java timezone

我需要生成要向用户显示的时区列表。我们希望根据用户的区域设置缩小列表范围。

如果用户的区域设置为“en_US”,他可能不关心在列表中看到“Asia/Ashkhabad”。

这是可行的吗?

Dav*_*itz 5

不,你不能。您可以使用 TimeZone.getAvailableIDs(int rawoffset) 来缩小结果范围,但是您需要保留 Locale->raw offsets 的映射。

另外,如果您的用户是位于印度的美国人会怎样?你不想给Asia/Kolkata他显示时区吗?