String zoneId = Calendar.getInstance().getTimeZone().toZoneId();
我想获得具有国家ISO代码的String [],例如zoneId适用的“AS”,“AL”,“AU”是什么?
答案 0 :(得分:3)
我认为最好的选择是获取这些IANA的文件:
这些文件的格式如下:
organization repo:
- serverappfolder
- desktopclientapp
- databaseapi
如果我没错,#codes coordinates TZ comments
AD +4230+00131 Europe/Andorra
AE,OM +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul
更新,涵盖多个国家/地区使用时区的案例,但您可以查看两者并查看哪一个解决了您的问题。
还有the iso3166.tab file将国家/地区代码映射到各自的名称。
我不确定Java是否有直接读取这些文件的API,但查看它们的格式,阅读它们并查找所需信息似乎很简单。
快速记录:无需拨打zone1970.tab
。
如果您希望JVM的默认时区为Calendar.getInstance().getTimeZone().toZoneId()
对象,请致电ZoneId
。如果您希望区域的ID为ZoneId.systemDefault()
(例如String
或Europe/Berlin
),请拨打America/New_York
。