Форматирование Java 8 datetime ddMMyyyyHHmmssSSS дает ошибку Текст '05052021000000000' не может быть проанализирован в индексе 4
Я пытаюсь разобрать строку
"05052021000000000"
к
LocalDateTime
объект, использующий шаблон, но получающий ошибку
Exception in thread "main" java.time.format.DateTimeParseException: Text '05052021000000000' could not be parsed at index 4
Код как ниже
String strDate = "05052021000000000";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyyHHmmssSSS");
LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);
System.out.println(dateTime);
Когда я пытался отформатировать дату
05052021
с рисунком
ddMMyyyy
давая ошибку:
Exception in thread "main" java.time.format.DateTimeParseException: Text '05052021' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2021-05-05 of type java.time.format.Parsed
Если я добавлю
'-'
между датой и временем он работает нормально.
String strDate = "05052021-000000000";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMyyyy-HHmmssSSS");
LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);
System.out.println(dateTime);
Это также работает с шаблонами, имеющими любые разделители, например
"dd:MM:yyyy-HH:mm:ss:SSS"
но не с шаблонами без разделителей, таких как
"ddMMyyyyHHmmssSSS"
Я использую java 1.8.0_181, а локаль по умолчанию - en_US.