Обратный отсчёт до определённой даты
Пытаюсь написать метод, который следит, сколько дней осталось до зимы и записывает количество оставшихся дней в переменную. Собственно, в вопрос: как это правильно делается?
Я накидал пример, до которого смог додуматься сам, но он очень кривой и это делается явно не так.
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class DataTest {
// Столько дней осталось до зимы //
public static int DAYS_LEFT = 115;
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
Calendar calendar2 = new GregorianCalendar(2021, Calendar.DECEMBER, 1); // 1 декабря
Date todayData = calendar.getTime();
Date winterData = calendar2.getTime();
while (DAYS_LEFT != 0) {
if (todayData.getHours() == 18) {
if (todayData.getDay() == winterData.getDay()) {
System.out.println("Зима");
break;
} else {
DAYS_LEFT = DAYS_LEFT - 1;
}
}
}
System.out.println("Зима");
}
}
Ответы (1 шт):
Автор решения: arthur
→ Ссылка
Что-то типо этого.
Date date1 = new Date();
Date date2 = new Date(Year.now().getValue(), 12, 1);
int days = Days.daysBetween(date1, date2).getDays();