java mdt_java – MST映射到当前是MDT的joda中的Denver时区.这是joda DateTimeZone中的错误吗?...
我需要將GMT轉換為亞利桑那時間.亞利桑那州目前有MST(夏令時).
但是在Joda Time DateTimeZone代碼中,MST已映射到America / Denver:
map.put("MST", "America/Denver");
可以看出,目前丹佛有夏令時,因此有MDT.
那么為什么在DateTimeZone代碼中進行了這樣的映射呢?
從格林尼治標準時間轉換到亞利桑那州的當地時區時,由于GMT-6錯誤而應該是GMT-7,因為MST沒有夏令時.
這是一個錯誤嗎?
如何解決這個問題?
最佳答案 起初我認為Joda時間將使用相同的TimeZone ID作為基礎Java的TimeZone.我通過代碼調試,發現它有點復雜.雖然可能與Joda并行使用與基本Java相同的ID,但它實際上是從joda jar中的文件加載時區的信息.這個例子是用所有Joda類完成的.
dt出現在亞利桑那州鳳凰城的時候.
public static void main(String[] args)
{
//List all time zones
Set 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 mdt_java – MST映射到当前是MDT的joda中的Denver时区.这是joda DateTimeZone中的错误吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 接口式自定义回调函数
- 下一篇: spingboot 集成swagger2