gpt4 book ai didi

java - MST 被映射到 joda 中的丹佛时区,目前是 MDT。这是 joda DateTimeZone 中的错误吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:39 29 4
gpt4 key购买 nike

我需要将 GMT 转换为亚利桑那时间。亚利桑那州目前有 MST(夏令时关闭)。

但是在 Joda Time DateTimeZone 代码中,MST 已映射到 America/Denver:

map.put("MST", "America/Denver");

可以看出,目前丹佛有夏令时,因此有 MDT。那为什么在DateTimeZone代码中做了这样的映射呢?

GMT 转换为亚利桑那州本地时区时,我得到的偏移量为 GMT-6,这是错误的,应该是 GMT-7 因为 MST 没有夏令时。

这是一个错误吗?如何解决问题?

最佳答案

起初我以为 Joda 时间会使用与基本 Java 的时区相同的时区 ID。我通过代码调试,发现它有点复杂。虽然可能与 Joda 并行使用与基本 Java 相同的 ID,但它实际上是从 joda jar 中的文件加载时区信息。这个例子是用所有的 Joda 类完成的。dt 出现在亚利桑那州凤凰城时间。

public static void main(String[] args)
{
//List all time zones
Set<String> timezones = DateTimeZone.getAvailableIDs();
for(String tz : timezones)
{
System.out.println(tz);
}

DateTimeZone arizona = DateTimeZone.forID("US/Arizona");
DateTimeZone.setDefault(arizona);
DateTime dt = new DateTime();
System.out.println(dt);

}

关于java - MST 被映射到 joda 中的丹佛时区,目前是 MDT。这是 joda DateTimeZone 中的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43028011/

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