我正在尝试使用Java 8的新日期模式,而不是Joda,但我遇到了以下问题:
两个
ZonedDateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormatter.ofPattern("dd/MM/yy HH:mm.ss.SSS Z"))
和
LocalDateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormatter.ofPattern("dd/MM/yy HH:mm.ss.SSS Z"))
抛出 'java.time.format.DateTimeParseException' 异常。
当
org.joda.time.DateTime.parse("02/05/16 11:51.12.083 +04:30", DateTimeFormat.forPattern("dd/MM/yy HH:mm.ss.SSS Z"))
正常工作。
异常的原因是:
java.time.format.DateTimeParseException: 在索引22处无法解析文本“02/05/16 11:51.12.083 +04:30”
我做错了什么吗?
02/05/16 11:51.12.083 +0430
。 - Rahul SharmaOffsetDateTime
是最适合此问题中所见数据的类型。LocalDateTime
有意丢弃了UTC偏移量信息。ZonedDateTime
用于完整的时区,这包括一个偏移值和处理夏令时等异常情况的规则。 - Basil Bourque