Java умеет работать с датами без ручной арифметики. Можно вычислить разницу между любыми двумя датами.
Создаём две даты через LocalDate:
var start = java.time.LocalDate.of(2025, 1, 10);
var end = java.time.LocalDate.of(2025, 3, 2);
Считаем разницу в днях через ChronoUnit:
long days = java.time.temporal.ChronoUnit.DAYS.between(start, end);
System.out.println("Дней прошло: " + days);
Можно вывести разницу в неделях и месяцах:
long weeks = java.time.temporal.ChronoUnit.WEEKS.between(start, end);
long months = java.time.temporal.ChronoUnit.MONTHS.between(start, end);
System.out.println("Недель: " + weeks);
System.out.println("Месяцев: " + months);
🔥 Такой подход даёт точные результаты, учитывая високосные годы и длину месяцев.
👉 Java Ready | #практика