Я прочитал руководства, и совершенно не понимаю, почему этот код не работает.
// Date Entered must be valid
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("MM/dd/yyyy")
.withResolverStyle(ResolverStyle.STRICT);
try {
String dateEntered = lossDateMonth + "/" + lossDateDay + "/" + lossDateYear; // Slash to match UI
System.out.println(dateEntered);
LocalDate dateParsed = LocalDate.parse(dateEntered, dateTimeFormatter);
Заявление println напечатано: 29.07.2015
В последней строке выдается исключение: java .time.format.DateTimeParseException: текст '07 / 29/2015 'не может быть проанализирован: невозможно получить LocalDate от TemporalAccessor: {YearOfEra = 2015, DayOfMonth = 29, MonthOfYear = 7} , ISO типа java .time.format.Parsed
Я прочитал руководство по этому вопросу, и в нем говорится, что такого рода вещи случаются, если вы пытаетесь разрешить несуществующую дату, например, 31 сентября. Даже в ошибке парсер, кажется, понимает, что я спрашиваю о 29 июля 2015 года, так что я здесь не так делаю?