我正在尝试将字符串转换为LocalDateTime对象。
@Test
public void testDateFormat() {
String date = "20171205014657111";
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
LocalDateTime dt = LocalDateTime.parse(date, formatter);
}
我希望这个测试能通过。
我得到以下错误:
java.time.format.DateTimeParseException:未能在索引0
处分析文本“20171205014657111”
发布于 2017-12-05 10:37:57
看起来我可能遇到了这个bug:https://bugs.openjdk.java.net/browse/JDK-8031085,因为它对应于我正在使用的JVM版本。注释中的解决方法为我修复了这个问题:
@Test
public void testDateFormat() {
String date = "20171205014657111";
DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.appendPattern("yyyyMMddHHmmss")
.appendValue(ChronoField.MILLI_OF_SECOND, 3).toFormatter();
LocalDateTime dt = LocalDateTime.parse(date, dtf);
}
https://stackoverflow.com/questions/47645050
复制相似问题