解析在 Java 8 日期偏移量中缺少冒号的 ISO 8601 字符串
问题:
Java 8 的 ZonedDateTime.parse() 方法无法解析偏移量中缺少冒号的 ISO 8601 格式的日期字符串,例如“2018-02-13T10:20:12.120 0000”。
解决方案:
错误修复之前(Java 8 到 121):
使用具有自定义模式的 DateTimeFormatter 来指定缺少的冒号在偏移量中:
<code class="java">String input = "2018-02-13T10:20:12.120+0000"; DateTimeFormatter f = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX"); OffsetDateTime odt = OffsetDateTime.parse(input, f);</code>
修复错误时:
只需使用不带模式的 ISO 8601 字符串调用 OffsetDateTime.parse() 即可:
<code class="java">OffsetDateTime odt = OffsetDateTime.parse("2018-02-13T10:20:12.120+0000");</code>
详细信息:
以上是如何解析 Java 8 日期偏移量中缺少冒号的 ISO 8601 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!