【发布时间】:2016-03-02 18:02:16
【问题描述】:
为了使用 JAXB 正确处理 xs:dateTime,我必须从 String->java.time.OffsetDateTime 编写自己的转换器。
正如 XML Schema Definition 中提到的,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 偏移部分is declared optional,所以解析有效
"2016-03-02T17:09:55"
抛出一个DateTimeParseException。
OffsetDateTime 是否有DateTimeFormatter,它也处理未分区的xs:dateTimes(可能带有默认时区)?
【问题讨论】:
标签: xml datetime xsd jaxb java-8