3

私は文字列の日付を持っています:

2013-05-23T00:00:00+00:00

ISODateTimeFormatそして、クラスを使用してフォーマットしたい:

DateTimeFormatter myParser = ISODateTimeFormat.dateTimeNoMillis();
myDate = myParser.parseDateTime(myDateAsString).toDate();

フォーマットされた日付値は次のとおりです。

Thu May 23 01:00:00 BST 2013

その1時間はどこから来るのですか?

4

2 に答える 2

2

DateTimeFormatterローカル タイム ゾーンを使用しています。次のように、UTC タイム ゾーンを使用するフォーマッタを作成する必要があります。

DateTimeFormatter myParser = ISODateTimeFormat.dateTimeNoMillis().withZoneUTC();
于 2013-10-31T15:58:04.673 に答える
1

タイム ゾーン オフセットに注意してください。GMT に対して +1 の BST オフセットがあります。それはおそらくあなたがいるタイムゾーンに関係しています。ただし、BST は 4 日前に終了しました。

ISO8601 時刻形式を使用しないのはなぜですか? 個人的には扱いやすいと思います。

http://en.wikipedia.org/wiki/British_Summer_Time http://en.wikipedia.org/wiki/ISO_8601

于 2013-10-31T15:56:55.360 に答える