2
DateTimeFormatter DATEFORMAT = ISODateTimeFormat.dateTimeNoMillis();

String testDate = "2013-10-26T04:23:14-08:00";

System.out.println(testDate);
System.out.println(DATEFORMAT.parseDateTime(testDate).toString(DATEFORMAT));

出力:

2013-10-26T04:23:14-08:00
2013-10-26T05:23:14-07:00

出力が約 1 時間オフになるのはなぜですか? DateTime を string に変換するために指定する必要がある他のパラメーターはありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

これは joda-time ライブラリを使用していると思います。上記のコメントが示唆するように、これは TZ の問題です。DateTime オブジェクトのメソッド呼び出しを使用して、任意の時刻を選択した TZ または UTC に簡単に変換できます。次のようなもの:

dt.withZone(DateTimeZone.UTC);

デフォルトの動作はシステムの現在のタイムゾーンで DateTime を出力するため、異なる結果が得られます。

于 2014-03-24T01:17:14.707 に答える