2017-03-31 5 views
1

を@JsonFormat SimpleDateFormatのドキュメント:{"created_at":"2001-07-04T12:08:56.235-07:00"}ですが、代わりにZタイムゾーンを取得します:{"created_at":"2017-03-31T15:42:44.923Z"}。私はX、XX、XXXを試しましたが、それぞれがZタイムゾーンを表示します。 yyyy-MM-dd'T'HH:mm:ss.SSSZでは、+ 0000タイムゾーンがコロンなしで表示されます。私はオプションがありませんか?ジャクソンは、私は、このPOJOを持って予想外のタイムゾーン出力

+0

私はあなたの出力を理解していますが、あなたは実際に出力として何を期待していますか? Zの代わりに+0000? –

+0

私は '2001-07-04T12:08:56.235 + 00:00'のようなものを期待しています。 – yenox

答えて

2

あなたは、ドキュメントのその部分を読むために鋭い目が必要です:)。

要するに、パターン内の「Z」は、RFC822タイムゾーンオフセットを表します。それは常に「TwoDigitHours Minutesに署名する」ことです。ただし、X(または複数のX)はISO8601の識別子を表し、 'Z'(ulu)を含む時間、分、タイムゾーンの文字記号を含むよく知られた組み合わせのいずれかになります。実際には、GMT + 0時間が指定された場合、+00:00の代わりに 'Z'としてシリアル化される傾向があります。私はこれが変更できることに気づいていません。また、タイムゾーンパターンとして 'Z'を使用するフォーマッタは、ではなく、のパースレターのタイムゾーンの指定子であることに注意してください。ここ

より:https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html#rfc822timezone

はしかし、私はあなたが気にしなければならないことを確認していません。あなたのケースではISO8601の標準に対する日付形式であれば、どのような正常なパーサであれ、どんな言語でもそれを拾うことができます。

+0

これらの詳細のおかげで、私は実際にZが+00:00で置き換えられるという同じ結論に至りました。しかし、あなたが述べたように、私はそれがやると思います。 – yenox

関連する問題