Вроде условие выполняется. Выручайте!
package com.javarush.task.task08.task0827;
import java.text.*;
import java.text.ParseException;
import java.util.Date;
import java.util.*;
/*
Работа с датой
*/
public class Solution {
public static void main(String[] args) throws ParseException {
System.out.println(isDateOdd("MAY 3 2019"));
}
public static boolean isDateOdd(String date) throws ParseException {
SimpleDateFormat formater = new SimpleDateFormat("MMMM d yyyy", Locale.ENGLISH);
Date date2 = formater.parse(date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date2);
Calendar startYearCalendar = new GregorianCalendar();
startYearCalendar.set(Calendar.YEAR, 2020);
startYearCalendar.set(Calendar.MONTH, 0);
startYearCalendar.set(Calendar.DAY_OF_MONTH, 1);
startYearCalendar.set(Calendar.HOUR_OF_DAY, 0);
startYearCalendar.set(Calendar.MINUTE, 0);
startYearCalendar.set(Calendar.SECOND, 0);
long milisek = calendar.getTimeInMillis() - startYearCalendar.getTimeInMillis();
int days = (int)(milisek/(24*60*60*1000));
//System.out.println(calendar.getTime());
//System.out.println(days);
boolean result = (((days)%2 + 1) == 0)? true : false;
return result;
}
}