Под словом текущий я подразумеваю- тот с начала которого нужно считать количество дней в указанном году переменной - endtDate
Просто если бы в main было несколько дат , то такое решение бы не подошло , если бы в них будут указаны разные года
Подозреваю что это не единственная проблема в моей коде или может его вообще нужно переделывать , просто тема для меня новая еще не совсем освоенная, пришлось лепить код из того что нашел в интернете
Date d = new Date(date);
SimpleDateFormat format1 = new SimpleDateFormat("YYYY-MM-dd");
String s = format1.format(d);
//Переделанный Формат
String dateString = "2013-01-1";
String sss = s;
// Converting date to Java8 Local date
LocalDate startDate = LocalDate.parse(dateString);
LocalDate endtDate = LocalDate.parse(s);
// Range = End date - Start date
Long range = ChronoUnit.DAYS.between(startDate, endtDate);
package com.javarush.task.task08.task0827;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Month;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.Locale;
/*
Работа с датой
*/
//1. - Переделать формат Даты
//1.1 - Посчитать количество Дней
//2. Проинициализировать день даты ПЕРЕМЕННОЙ
//3. Провести Через оператор if
//4. Вернуть значение true или false
public class Solution {
public static void main(String[] args) {
System.out.println(isDateOdd("MAY 1 2013"));
}
public static boolean isDateOdd(String date) {
Date d = new Date(date);
SimpleDateFormat format1 = new SimpleDateFormat("YYYY-MM-dd");
String s = format1.format(d);
//Переделанный Формат
String dateString = "2013-01-1";
String sss = s;
// Converting date to Java8 Local date
LocalDate startDate = LocalDate.parse(dateString);
LocalDate endtDate = LocalDate.parse(s);
// Range = End date - Start date
Long range = ChronoUnit.DAYS.between(startDate, endtDate);
// System.out.println("Number of days between the start date : " + startDate + " and end date : " + endtDate
// + " is ==> " + range);
if (range % 2 == 0)
// return true;
return false;
else
return true;
}
}
/* SimpleDateFormat format2 = new SimpleDateFormat("dd - MMMM - yy");
System.out.println(format2.format(d));*/
/* String oldstring = "2011-01-18 00:00:00.0";
LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
*/
//КЛЮЧЕВАЯ ССЫЛКА
//http://qaru.site/questions/6273/calculate-days-between-two-dates-in-java-8
// В поисковик - JAva дни года
// ВЫЧИСЛЯЕТ СКОЛЬКО ДНЕЙ МЕЖДУ -УКАЗАННЫМ ПРОМЕЖУТКОМ
/* LocalDate independenceDay = LocalDate.of(2014, Month.JANUARY, 1);
LocalDate christmas = LocalDate.of(2014, Month.JANUARY, 5);
System.out.println("Until christmas: " + independenceDay.until(christmas));
System.out.println("Until christmas (with crono): " + independenceDay.until(christmas, ChronoUnit.DAYS));
*/
// ВЫЧИСЛЯЕТ СКОЛЬКО ДНЕЙ МЕЖДУ -УКАЗАННЫМ ПРОМЕЖУТКОМ И ПРИСВАИВАЕТ ДНЮ ПЕРЕМЕННУЮ
/* String dateString = "2013-01-03";
String dateString2 = "MAY 3 2013";
// Converting date to Java8 Local date
LocalDate startDate = LocalDate.parse(date);
LocalDate endtDate = LocalDate.parse(dateString2);
// Range = End date - Start date
Long range = ChronoUnit.DAYS.between(startDate, endtDate);
System.out.println("Number of days between the start date : " + dateString + " and end date : " + endtDate
+ " is ==> " + range);
range = ChronoUnit.DAYS.between(endtDate, startDate);
System.out.println("Number of days between the start date : " + endtDate + " and end date : " + dateString
+ " is ==> " + range);*/
//ПЕЕДЕЛЫВАЕМ ФОРМАТ
/* Date d = new Date(date);
System.out.println(d);
SimpleDateFormat format1 = new SimpleDateFormat("dd.MM.yyyy");
System.out.println(format1.format(d));*/