gpt4 book ai didi

java - 如何从java中的时区ID获取国家代码?

转载 作者:行者123 更新时间:2023-12-01 14:17:40 43 4
gpt4 key购买 nike

 String zoneId = Calendar.getInstance().getTimeZone().toZoneId();

我想获取具有国家 ISO 代码的 String[],例如zoneId 适用的“AS”、“AL”、“AU”?

最佳答案

我认为最好的选择是获取这些 IANA 文件:

这些文件的条目格式如下:

#codes  coordinates TZ  comments
AD +4230+00131 Europe/Andorra
AE,OM +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul

如果我没记错的话,zone1970.tab 比较新,涵盖了多个国家/地区使用一个时区的情况,但您可以同时检查两者,看看哪一个可以解决您的问题。

还有 the iso3166.tab file将国家代码映射到它们各自的名称。

我不确定 Java 是否有直接读取这些文件的 API,但查看它们的格式,读取它们并找到您想要的信息似乎是直截了当的。


**快速说明**:无需调用 `Calendar.getInstance().getTimeZone().toZoneId()`。

如果您希望将 JVM 的默认时区作为 ZoneId 对象,只需调用 ZoneId.systemDefault()。如果您希望区域 ID 为 String(例如 Europe/BerlinAmerica/New_York),只需调用 ZoneId.systemDefault ().getId().

关于java - 如何从java中的时区ID获取国家代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49421025/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com