Вывод верный, в IDE проверяла все варианты. Даже из условия обе даты верно выводятся. А валидатор не принимает. Вообще не пойму, почему
package com.javarush.task.task08.task0827;
import java.util.Date;
import java.util.*;
import java.time.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.Period;
import java.util.Locale;
/*
Работа с датой
*/
public class Solution {
public static void main(String[] args) {
System.out.println(isDateOdd("MAY 1 2013"));
//System.out.println(isDateOdd(args[0]));
}
public static boolean isDateOdd(String date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d yyyy").withLocale(Locale.US);
date = date.substring(0, 1).toUpperCase() + date.substring(1).toLowerCase();
LocalDate startDate = LocalDate.parse(date, formatter);
Integer year = startDate.getYear();
LocalDate endDate = LocalDate.parse("January 1 " + year, formatter);
Period period = Period.between(endDate, startDate);
return ((period.getDays() + 1)% 2 != 0);
}
}