xs:dateTimeをJAXBで正しく処理するには、String
- >java.time.OffsetDateTime
から独自のコンバータを作成する必要があります。xsd:dateTime to Java OffsetDateTime
XMLスキーマ定義に記載されているように、dateTimeはISO 8601からインスピレーションを受けました。私はOffsetDateTime.parse(s, DateTimeFormatter.ISO_OFFSET_DATE_TIME)
を使用してxs:dateTime
を解析しました。悲しいことに
"2007-12-03T10:15:30+01:00" //or
"2007-12-03T10:15:30Z"
、xs:dateTime
にインクルードはとても有効な
"2016-03-02T17:09:55"
がDateTimeParseException
をスロー解析し、一部is declared optionalを相殺しました。
OffsetDateTimeにはDateTimeFormatter
があります(これには、おそらくデフォルトのタイムゾーンが設定されています)xs:dateTime
も処理されますか?
ああ、オフセットがない場合は、JVMのタイムゾーンの日時を解釈します。私は 'localDateTIme.atZone(ZoneId.systemDefault())。toOffsetDateTime()'を使うと思います。それは少し読みやすいですか? –