Пробую решить через календари, логика какая:
Создал объект DATE входящей даты. Потом через календарь во второй дате привожу всё к началу года - обнуляю всё, кроме самого года. Извлекаю из второго календаря объект DATE, сравниваю. Вроде корректно работает, ан нет. Хелп
package com.javarush.task.task08.task0827;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import static java.util.Locale.ENGLISH;
/*
Работа с датой
*/
public class Solution {
public static void main(String[] args) throws ParseException {
System.out.println(isDateOdd("MAY 1 2013"));
System.out.println(isDateOdd("APRIL 2 2018"));
System.out.println(isDateOdd("JANUARY 2 2018"));
}
public static boolean isDateOdd(String date) throws ParseException {
DateFormat df = new SimpleDateFormat("MMMM dd yyyy", Locale.ENGLISH);
Date inc_date = df.parse(date);
Calendar calendar = Calendar.getInstance();
calendar.setTime(inc_date);
calendar.set(Calendar.MONTH,0);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.set(Calendar.HOUR,0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
Date date2 = calendar.getTime();
long diff = inc_date.getTime()-date2.getTime();
int diffint = (int) (diff/(1000*60*60*24));
System.out.println(diffint);
if (diffint%2==0) return false;
else return true;
}
}