gpt4 book ai didi

java - 为什么喀土穆的偏移量为 0?时区有错误吗?

转载 作者:行者123 更新时间:2023-12-01 17:50:25 26 4
gpt4 key购买 nike

为什么下面的代码是这样的:

System.out.println("Khartoum offset: " + TimeZone.getTimeZone("Asia/Khartoum").getRawOffset());
// GMT+2

System.out.println("Moscow offset: " + TimeZone.getTimeZone("Europe/Moscow").getRawOffset());
// GMT+3

System.out.println("Cairo offset: " + TimeZone.getTimeZone("Africa/Cairo").getRawOffset());
// GMT+2

产生这个奇怪的输入:

Khartoum offset: 0, why is this 0??? It should have been 7200000
Moscow offset: 10800000 // 3 hours, which is OK for GMT+3
Cairo offset: 7200000 // 2 hours, which is OK for GMT+2

如果您在 Google 中输入喀土穆时间,您会发现喀土穆采用 GMT+2(与“开罗”相同)。

UPD: System.out.println(TimeZone.getTimeZone("Africa/Khartoum").getRawOffset()); 打印出 10800000 基本上是 GMT+3。难道它不应该打印 7200000 (对应于 GMT+2)吗?(证明:这个怎么样: ideone.com/sm2SHC )?

最佳答案

喀土穆位于非洲而不是亚洲,TZDB also has this view ,所以使用:

Africa/Khartoum

否则旧的 Timezone-API 将回退到 GMT。

关于java - 为什么喀土穆的偏移量为 0?时区有错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50839217/

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