自分のゾーンとは異なるゾーンで DateTime のミリ秒を取得しようとすると、ローカルマシンのタイムゾーンのミリ秒が返される理由を誰かに説明してもらえますか? UTC のミリ秒を取得しようとしていますが、アプリケーションのローカル設定が EST に設定されています (実際にアイルランドにいるにもかかわらず;))
コードは次のとおりです。
DateTimeFormatter format = DateTimeFormat.mediumDateTime();
DateTime local = new DateTime();
DateTime utc = new DateTime(System.currentTimeMillis(), DateTimeZone.UTC);
System.out.println("utc zone = " +utc.getZone());
System.out.println("UTC time: " + utc);
long current = utc.getMillis();
System.out.println("current: " + format.print(current));
System.out.println("local: " + format.print(local.getMillis()));
印刷されるものは次のとおりです。
utc zone = UTC
UTC time: 2013-08-16T13:36:32.444Z
current: Aug 16, 2013 9:36:32 AM
local: Aug 16, 2013 9:36:32 AM
現在、UTC 時間と同じ日時にする必要があると思いましたか?