Я получаю дату, которую хочу проверить, находится ли она в неправильном формате (дд / ММ / ГГГГ), я добавляю ошибку для отображения, зная, что моя дата имеет тип localDate. Я нашел много кода, как проверять строковые даты, но не localdate, если у кого-то есть идея: вот что я сделал на данный момент, и он возвращает все даты даже в правильном формате
LocalDate mydate;
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/YYYY");
try {
String date = myDate.format(formatter);
LocalDate.parse(date, formatter);
}
catch (Exception e) {
errors.add(....));
}
Спасибо
"dd/MM/YYYY"
- шаблон неверного формата.Y
- это недельный год, вы хотитеu
, который равен году, поэтому используйте"dd/MM/uuuu"
. См. документацию, т.е. javadoc для _ 5_. - person Andreas   schedule 25.06.2020myDate
вы тестировали? Вдобавокmydate
- это не та же переменная, что иmyDate
,d
разница, по общему признанию, не является очевидной. - person deHaar   schedule 25.06.2020LocalDate
. ОбъектLocalDate
- это объект, который представляет дату / месяц / год. У него нет формата; это просто значение даты. Нет смысла проверять, имеет ли объектLocalDate
правильный формат - у него вообще нет формата. Вот почему вы не нашли кода для проверкиLocalDate
. - person Jesper   schedule 25.06.2020LocalDate
всегда действителен, иначе вы не смогли бы его создать. И уLocalDate
никогда не было никакого формата. См., Например, Как форматировать Объект LocalDate в MM / dd / yyyy и сохранит формат. - person Ole V.V.   schedule 25.06.2020YYYY
- это не то же самое, чтоyyyy
, и первый, вероятно, преподнесет вам неприятные сюрпризы под Новый год. Проверьте документы, если не совсем Конечно. - person Ole V.V.   schedule 25.06.2020