У меня дата отформатирована следующим образом:
Год из четырех цифр, а затем номер недели из двух цифр.
Например, четвертая неделяиз 2018 будет 201804 .
У меня возникли проблемы с анализом этих дат с использованием LocalDate и DateTimeFormatterBuilder .
* 1016.* Вот как я пытаюсь разобрать дату:
LocalDate.parse(
"201804",
new DateTimeFormatterBuilder().appendPattern("YYYYww").parseDefaulting(WeekFields.ISO.dayOfWeek(), 1).toFormatter()
);
При выполнении выдается следующее исключение:
java.time.format.DateTimeParseException: текст «201804» не можетбыть проанализирован по индексу 0
Странное поведение заключается в том, что, когда я добавляю разделитель между частями даты, исключение больше не генерируется:
LocalDate.parse(
"2018 04",
new DateTimeFormatterBuilder().appendPattern("YYYY ww").parseDefaulting(WeekFields.ISO.dayOfWeek(), 1).toFormatter()
);
Результат:
2018-01-22
Есть что-то, чего мне не хватает в форматере?