Вроде бы всё по методичке от производителя. На форумах умных так же приводят к нужному формату. А у меня не работает: ((
"java.time.format.DateTimeParseException: Text 'MAY 1 2013' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)"
package com.javarush.task.task08.task0827;
import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
/*
Работа с датой
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года - нечетное
число, иначе false
2. String date передается в формате FEBRUARY 1 2013
Не забудьте учесть первый день года.
Пример:
JANUARY 1 2000 = true
JANUARY 2 2020 = false
Требования:
1. Программа должна выводить текст на экран.
2. Класс Solution должен содержать два метода.
3. Метод isDateOdd() должен возвращать true, если количество дней с начала года - нечетное число, иначе false.
4. Метод main() должен вызывать метод isDateOdd().
*/
public class Solution {
public static void main(String[] args) {
System.out.println(isDateOdd("MAY 1 2013"));
}
public static boolean isDateOdd(String date) {
LocalDate endDate = LocalDate.parse(date, DateTimeFormatter.ofPattern("MMMM dd YYYY" ));
LocalDate startDate = LocalDate.of((endDate.getYear() - 1), 11, 31);
Period period = Period.between(startDate, endDate);
int resultDays = period.getDays();
return resultDays % 2 != 0;
}
}