TimeZone utcTimezone_ = TimeZone.getTimeZone("UTC");
TimeZone _utc = TimeZone.getTimeZone("Zulu");
DateFormat _fo = new SimpleDateFormat("yyyy-MM-dd HH:mm");
_fo.setTimeZone(_utc);
GregorianCalendar gc = new GregorianCalendar(_utc);
System.out.println(gc.getTime());
System.out.println(gc.get(GregorianCalendar.MINUTE));
System.out.println(gc.get(GregorianCalendar.HOUR_OF_DAY));
上記のコードを実行したときの出力の例は次のとおりです。
Mon Sep 16 16:40:37 CST 2013
10
7
この場合、分は 40 (10 ではない)、時間は 16 (7 ではない) になると予想しています。現時点で私が理解できないことは何ですか?ありがとう。
編集: タイムゾーンをローカル タイムゾーンである CST に変更しても、分と時間が一致しません。
TimeZone _utc = TimeZone.getTimeZone("CST");
DateFormat _fo = new SimpleDateFormat("yyyy-MM-dd HH:mm");
_fo.setTimeZone(_utc);
GregorianCalendar gc = new GregorianCalendar(_utc);
System.out.println(gc.getTime());
System.out.println(gc.get(GregorianCalendar.MINUTE));
System.out.println(gc.get(GregorianCalendar.HOUR_OF_DAY));
出力は次のとおりです。
Mon Sep 16 21:23:48 CST 2013
53
6