我试图将字符串转换为LocalDateTime对象。
@Test
public void testDateFormat() {
String date = "20171205014657111";
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
LocalDateTime dt = LocalDateTime.parse(date, formatter);
}
我希望这个测试能够通过。
我收到以下错误:
java.time.format.DateTimeParseException:Text' 20171205014657111'无法在索引0处解析
答案 0 :(得分:17)
看起来我可能遇到过这个错误: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);
}