2012-01-05T08:00:00.000Z(2012年1月5日の日付)の書式設定にJODAを使用していて、それをJava Dateに変換しようとしています。LocalDate.toDate()が不正確な日付を返す
DateTimeFormatter jodaParser = DateTimeFormat
.forPattern(inputDateWhichIsAString);
必要な時間とLOCALDATEにそれを変換する:最初の書式設定を行うにしてDateTimeFormatterを使用し
:以下
は私はこの段階で取ってい手順をしていますゾーン(UTC)
LocalDate localDate = jodaParser .withZone(DateTimeZone.UTC) .parseDateTime(inputDateWhichIsAString).toLocalDate();
私は、返される日付があることを期待すべきである一方、JavaのDateオブジェクト
return localDate.toDate();
を取得するLOCALDATEは、しかし:2012年1月5日、私が取得していますが月1970年の第1回である私が印象そのジョダ下にありましたJava Dateオブジェクトが持つことが知られているこれらの問題を処理します。
私はここで何か間違っているのですか?それとも誰かに似たような問題があり、回避策を知っていますか?
おかげ Rajat
編集:
まず感謝マイケル。
ここでは、前のスニペットよりも改善されています。このスニペットは、正しいDateを得ることを保証しました。つまり、解決策です。
//Make sure you use HH instead of hh if you are using 24 hour convention. I use this convention since my date format is: 2012-01-05T08:00:00.000Z
DateTimeFormatter jodaParser =
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZZ");
LocalDate date = jodaParser.withZone(DateTimeZone.UTC).parseDateTime
(inputDateWhichIsAString).toLocalDate();
return date.toDate();
乾杯 Rajat名前が示唆するように
1 :) – poitroae
@Michael:そこに私の欲求不満を恩赦:D –