我有一個在夏令時期間從今年夏天開始的Java Date
。例如:Java日期,使用特定的日光模式進行渲染
2009年6月1日上午06點PDT
我的問題是,我怎麼顯示這個日期作爲我的本地時區和當前夏令模式(在我的情況太平洋標準時間)?
2009年6月1日上午05點PST
Java的Date.toString()
和SimpleDateFormat
顯示在原夏令模式的日期。例如:
System.out.println(new Date(1243861200000L));
輸出:
週一6月1日6時〇〇分00秒PDT 2009
DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy hh:mm aa zzz");
dateFormat.setTimeZone(TimeZone.getTimeZone("PST"));
System.out.println(dateFormat.format(new Date(1243861200000L)));
輸出:
2009年6月1日06: 00 AM PDT
我真正想看到的是PST上午5:00(相當於上午6:00 PDT)。有沒有辦法強制它使用另一種夏令時模式?
跟進:順便說一下,這是Windows XP的行爲。在6月1日上午6點創建的文件將在冬季的6月1日上午5點(由資源管理器,命令提示符等)顯示。
這是強制性的,每當有人提到關於Java中的日期以提及喬達時間的問題時。我不知道它是否會做你想要的,但它是強制性的。 – 2009-11-19 01:36:23
我認爲有人沒有直接的頭。誰在問這個?這個不成立。日期/時間在DSMode中是固定的,並且僅隨TZ(地理位移)而變化。 – Don 2009-11-19 01:59:59