【发布时间】:2019-08-31 03:18:51
【问题描述】:
我有以下字符串:String timeStamp = "2020-01-31 12:13:14 +03:00"。
我尝试使用 Java 8 DateTimeFormatter 解析它。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( format );
tmpTimestamp = ZonedDateTime.parse( timeStamp, formatter );
format 是其中之一:
"yyyy-MM-dd' 'HH:mm:ss' 'Z",
"yyyy-MM-dd' 'HH:mm:ss' 'X",
"yyyy-MM-dd' 'HH:mm:ss' 'x",
"yyyy-MM-dd HH:mm:ss Z",
"yyyy-MM-dd HH:mm:ss X",
"yyyy-MM-dd HH:mm:ss x",
没有一个工作。我总是得到DateTimeParseException 指向偏移子字符串“+03:00”中的“+”或“:”字符
根据 JavaDocs:Class DateTimeFormatter "+03:00" 应受以下任何一种支持:Z、X 和 x。
那么问题是如何构造格式化字符串来解析它呢?
【问题讨论】:
-
@MS90 - 不是
LocalDateTime,而是OffsetDateTime(因为它有一个偏移量)。
标签: java datetime parsing java-8 dateformatter