Java 时区计数是否因地区而异?

Java 时区计数是否因地区而异?,java,timezone,locale,Java,Timezone,Locale,WillTimeZone.getAvailableIDs()无论我运行的是哪种语言环境,都可以获得相同数量的时区?是 TimeZone.getAvailableIDs()返回所有已知时区,与区域设置无关 我很感兴趣的是,为什么您认为它可能会因地区而异 正如Gunslinger47所指出的,时区确实偶尔会发生变化,您需要更新到新的JDK/JRE或修补旧的JDK/JRE,但这与语言环境无关。如果您的计算机运行在不同的时区,并且运行完全相同的Java版本,那么TimeZone.getAvailable

Will
TimeZone.getAvailableIDs()无论我运行的是哪种语言环境,都可以获得相同数量的时区?

TimeZone.getAvailableIDs()
返回所有已知时区,与区域设置无关

我很感兴趣的是,为什么您认为它可能会因地区而异


正如Gunslinger47所指出的,时区确实偶尔会发生变化,您需要更新到新的JDK/JRE或修补旧的JDK/JRE,但这与语言环境无关。

如果您的计算机运行在不同的时区,并且运行完全相同的Java版本,那么
TimeZone.getAvailableIDs()
将在这些计算机上返回相同的结果

但是,列表在不同的Java版本之间(甚至在不同的更新版本之间)可以(而且确实)更改

你为什么问这个问题;你想用你问题的答案解决的根本问题是什么?我认为编写一个对
TimeZone.getAvailableIDs()的结果有期望的程序不是一个好主意看起来是这样的,因为Java API没有对此做出任何承诺。

接受的是正确的。此外,您应该知道您使用的是一个过时的类

java.time.ZoneId.getAvailableZoneIds()
传统类
TimeZone
已经被现代java.time类所取代

要获取所有时区的列表,请调用
ZoneId.getAvailableZoneId()

运行时:

zoneId |本地化
亚洲/亚丁阿拉伯之乡
美洲/Cuiaba | heure de l'Amazonie
Etc/GMT+9|UTC−9:00
Etc/GMT+8 | UTC−8:00
非洲/内罗毕|东部非洲之乡
美洲/马里戈特|亚特兰蒂斯岛
亚洲/阿克套|黑尔德阿克套
太平洋/夸贾林|马歇尔岛
美洲/萨尔瓦多中心
亚洲/西印度河流域
非洲/开罗|欧洲之乡
太平洋/帕戈帕戈海雷德萨摩亚
非洲/姆巴巴巴内|南部非洲
亚洲/古晋岛
太平洋/檀香山|哈瓦伊-阿尔埃奥提安群岛
太平洋/拉罗通加|霍雷德斯库克酒店
美洲/危地马拉|中心
澳大利亚/澳大利亚东部霍巴特郡
欧洲/伦敦|英国
美国/伯利兹|中心酒店
美国/巴拿马| heure de l'Est
亚洲/中国重庆
美洲/马那瓜|中心
美国/印第安纳州/彼得堡| heure de l'Est
亚洲/埃里温埃利瓦尔岛
欧洲/布鲁塞尔|欧洲中心酒店
格林威治时间
欧洲/华沙|欧洲中心酒店
美国/芝加哥|豪尔杜中心
亚洲/喀什|中国
智利/大陆集团| heure du Chili
太平洋/亚普|霍尔德丘克
欧洲中央大学
Etc/GMT-1 | UTC+1:00
Etc/GMT-0 |休尔莫延德格林威治
欧洲/泽西岛|英国
美国/特古西加尔巴|豪尔杜中心
Etc/GMT-5 | UTC+5:00
欧洲/伊斯坦布尔|欧洲之家
美洲/埃鲁内佩|埃雷德拉克
Etc/GMT-4 | UTC+4:00
美洲/米克隆|圣皮埃尔和米克隆之乡
Etc/GMT-3 | UTC+3:00
欧洲/卢森堡|欧洲中心酒店
Etc/GMT-2 | UTC+2:00
Etc/GMT-9 | UTC+9:00
美国/阿根廷/阿根廷卡塔马卡
Etc/GMT-8 | UTC+8:00
Etc/GMT-7 | UTC+7:00
Etc/GMT-6 | UTC+6:00
欧洲/Zaporozhye | heure d'Europe de l'Est
加拿大/育空|太平洋之乡
加拿大/大西洋|亚特兰蒂斯岛
大西洋/圣赫勒拿|休尔德格林威治
澳大利亚/塔斯马尼亚|澳大利亚东部地区
利比亚|欧洲之旅
欧洲/根西岛|英国
美洲/土耳其大酒店
美国/太平洋新墨西哥州
亚洲/撒马尔罕|奥兹贝基斯坦之乡
美国/阿根廷/阿根廷科尔多瓦
亚洲/金边-印度支那河
非洲/基加利|中部非洲之乡
亚洲/阿拉木图
美国/阿拉斯加州
亚洲/迪拜|高尔夫
欧洲/马恩岛(英国)
美洲/阿拉瓜那|巴西利亚之乡
古巴|古巴之乡
亚洲/新西伯利亚|新西伯利亚
美国/阿根廷/萨尔塔阿根廷人之家
Etc/GMT+3 | UTC−3:00
非洲/突尼斯|欧洲中心区
Etc/GMT+2 | UTC−2:00
Etc/GMT+1 | UTC−1:00
太平洋/托克劳法考福岛
非洲/的黎波里|东部欧洲之乡
Etc/GMT+0 |赫尔莫延德格林威治
以色列| heure d'Israël
非洲/班珠尔|赫尔德格林威治
Etc/GMT+7 | UTC−7:00
印度/科摩罗东部非洲之乡
Etc/GMT+6|UTC−6:00
Etc/GMT+5 | UTC−5:00
Etc/GMT+4|UTC−4:00
太平洋/莫尔斯比港新帕普瓦西港
美国/亚利桑那州
南极洲/Syowa | Heure de Syowa
印第安/留尼汪岛
太平洋/帕劳|哈雷德帕洛斯
欧洲/加里宁格勒|欧洲东部
美洲/蒙得维的亚|乌拉圭之乡
非洲/温得和克|中部非洲之乡
亚洲/卡拉奇(巴基斯坦)
非洲/摩加迪沙|东部非洲之乡
澳大利亚/澳大利亚西部珀斯
巴西/东巴西利亚
Etc/GMT |格林威治海雷莫延德酒店
亚洲/赤塔岛
太平洋/复活节酒店
南极洲/Davis | Heure de Davis
南极洲/McMurdo | heure de la Nouvelle-Zélande
亚洲/澳门|中国大陆
美洲/马瑙斯|亚马逊之乡
非洲/弗里敦|赫尔德格林威治
欧洲/布加勒斯特东部欧洲之乡
亚洲/托木斯克|托木斯克时间
美国/阿根廷/阿根廷门多萨
亚洲/澳门|中国大陆
欧洲/马耳他|欧洲中心酒店
墨西哥/巴贾苏尔|墨西哥太平洋之乡
太平洋/塔希提岛|塔希提岛之乡
非洲/阿斯梅拉|东部非洲之乡
欧洲/商业中心
美国/阿根廷/里约热内卢加列戈斯|阿根廷人之家
非洲/马拉博西部非洲之乡
欧洲/斯科普里|欧洲中心酒店
美国/阿根廷卡塔马尔卡
美国/戈德萨布(格伦兰西部)
欧洲/萨拉热窝|欧元区
Set< String > zoneIds = ZoneId.getAvailableZoneIds() ;