gpt4 book ai didi

java - Java 中的时区 ID

转载 作者:IT老高 更新时间:2023-10-28 20:39:37 26 4
gpt4 key购买 nike

我在使用 java TimeZone 时遇到了奇怪的问题..

调用 TimeZone.getDefault() 会给出我的本地时区,它的 ID 为“GMT+02:00”。有趣的是,这个 ID 没有出现在 TimeZone.getAvailableIDs() 提供的列表中。显然我的区域似乎是“Etc/GMT+2”。

我正在尝试使用时区填充组合,但无法进行选择,因为 GMT+02:00 不在列表中。有人见过这个问题吗?有什么想法吗?


更新:

底线是 - 不能依赖 ID 字符串,必须使用偏移量,因为显示 ID 可能因系统而异。

最佳答案

GMT+02:00 是自定义 ID,它不会出现在 TimeZone.getAvailableIDs() 的输出中(很大)。您可以做的是要求用户首先指定他的偏移量,然后获取给定偏移量的可用 ID。例如,对于 GMT+02:00,下面这段代码:

for (String string : TimeZone.getAvailableIDs(TimeZone.getTimeZone(
"GMT+02:00").getRawOffset())) {
System.out.println(string);
}

给出以下输出:

ARTAfrica/BlantyreAfrica/BujumburaAfrica/CairoAfrica/GaboroneAfrica/HarareAfrica/JohannesburgAfrica/KigaliAfrica/LubumbashiAfrica/LusakaAfrica/MaputoAfrica/MaseruAfrica/MbabaneAfrica/TripoliAsia/AmmanAsia/BeirutAsia/DamascusAsia/GazaAsia/IstanbulAsia/JerusalemAsia/NicosiaAsia/Tel_AvivCATEETEgyptEtc/GMT-2Europe/AthensEurope/BucharestEurope/ChisinauEurope/HelsinkiEurope/IstanbulEurope/KaliningradEurope/KievEurope/MariehamnEurope/MinskEurope/NicosiaEurope/RigaEurope/SimferopolEurope/SofiaEurope/TallinnEurope/TiraspolEurope/UzhgorodEurope/VilniusEurope/ZaporozhyeIsraelLibyaTurkey

这次它仍然很大,但可供人类浏览。

关于java - Java 中的时区 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1707799/

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