Оба эти DateTimeFormatts практически идентичны, однако только второй бросает исключение. Оба эти шаблона действительны, насколько я могу судить. />var result1 = new DateTimeFormatterBuilder()
.appendPattern("yyyyMMddHHmmss")
.appendFraction(ChronoField.NANO_OF_SECOND, 3, 3, false) // minWidth is 3
.toFormatter()
.parse("20241231235959123");
System.out.println(result1);
< /code>
Это бросает исключение: < /p>
var result2 = new DateTimeFormatterBuilder()
.appendPattern("yyyyMMddHHmmss")
.appendFraction(ChronoField.NANO_OF_SECOND, 1, 3, false) // minWidth is 1
.toFormatter()
.parse("20241231235959123");
System.out.println(result2);
< /code>
Исключение: < /p>
Exception in thread "main" java.time.format.DateTimeParseException: Text '20241231235959123' could not be parsed at index 0
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2108)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1936)
at Main.main(Main.java:24)
Подробнее здесь: https://stackoverflow.com/questions/796 ... -exception