Объясните, пожалуйста, что происходит в строке 24 и 32 и правильно ли я написал описание происходящего в комментариях около кода?
package com.javarush.task.task08.task0827;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Locale;
/*
Работа с датой
*/
public class Solution {
public static void main(String[] args) throws ParseException {
System.out.println(isDateOdd("MAY 1 2024"));
System.out.println(isDateOdd("MAY 2 2024"));
System.out.println(isDateOdd("MAY 3 2024"));
System.out.println(isDateOdd("MAY 4 2024"));
}
public static boolean isDateOdd(String date) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("MMMM dd yyyy", Locale.ENGLISH);
//обращение к датам в методе main - сверху от коментария
Date date1; // Создание переменной типа Date
date1 = format.parse(date);
Date date2 = new Date();//Создаём объект, типа Date
date2.setDate(1);
date2.setMonth(0);
date2.setHours(0);
date2.setMinutes(0);
date2.setSeconds(0);
int y = date1.getYear();//Передаём переменной y значение переменной date
date2.setYear(y);
boolean k;
if (date1.getMonth() == 0 && date1.getDate() == 1){
k = true;
}
else {
if (date1.getMonth() == 0 && date1.getDate() == 2) {
k = false;
} else {
long date3 = date1.getTime() - date2.getTime();
int d = (int) date3 / (24 * 60 * 60 * 1000);
if (d % 2 == 0) {
k = false;
} else k = true;
}
}
return k;
}
}