【发布时间】:2019-05-03 15:14:14
【问题描述】:
我在将此字符串格式化为ZonedDateTime 对象时遇到问题。我尝试关注 oracle 文档,但失败了,我不知道应该怎么做。
String date = "Sat Dec 01 20:56:28 CET 2018"
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z uuuu");
ZonedDateTime dateTime = ZonedDateTime.parse(date, formatter);
我明白了
java.time.format.DateTimeParseException:无法在索引 0 处解析文本“Sat Dec 01 20:56:28 CET 2018”
【问题讨论】:
-
怎么失败了???
-
java.time.format.DateTimeParseException: Text 'Sat Dec 01 20:56:28 CET 2018' 无法在索引 0 处解析
-
顺便说一句,这是一种糟糕的格式。在可能的情况下,使用标准的ISO 8601 格式来交换日期时间值。 java.time 类在解析/生成字符串时默认使用标准格式。
-
看起来您正在从老式
Date对象中解析来自toString()的字符串?如果在您的能力范围内,请使用Date.toInstant()转换为现代类型,因为它更容易、更安全。解析三个字母的时区缩写在CET时可能有效,但在许多其他情况下会给出错误的结果。
标签: java date formatting