次のようにタイムゾーンごとに現在の時刻を表示しようとしていますが、期待どおりに時刻が出力されません。
long currentLong = System.currentTimeMillis();
TimeZone.setDefault(TimeZone.getTimeZone("EST"));
System.out.println("EST=="+ new java.util.Date(currentLong).toString());
TimeZone.setDefault(TimeZone.getTimeZone("CST"));
System.out.println("CST=="+ new java.util.Date(currentLong).toString());
TimeZone.setDefault(TimeZone.getTimeZone("MST"));
System.out.println("MST=="+ new java.util.Date(currentLong).toString());
TimeZone.setDefault(TimeZone.getTimeZone("PST"));
System.out.println("PST=="+ new java.util.Date(currentLong).toString());
TimeZone.setDefault(TimeZone.getTimeZone("AST"));
System.out.println("AKST=="+ new java.util.Date(currentLong).toString());
TimeZone.setDefault(TimeZone.getTimeZone("HST"));
System.out.println("HAST=="+ new java.util.Date(currentLong).toString());
プログラムを実行すると、次のようになります。
EST==Sat Nov 03 22:24:02 EST 2012
CST==Sat Nov 03 22:24:02 CDT 2012
MST==Sat Nov 03 20:24:02 MST 2012
PST==Sat Nov 03 20:24:02 PDT 2012
AKST==Sat Nov 03 19:24:02 AKDT 2012
HAST==Sat Nov 03 17:24:02 HST 2012
なぜ CST の時間が EST と同じで、MST と PST が同じなのか疑問に思っています。
誰かが私に何が問題なのか教えてもらえますか?
ありがとう。