Java совет: считаем разницу во времени без ручной математики Начиная с Java 8 можно использовать ChronoUnit.
Начиная с Java 8 можно использовать ChronoUnit.between(start, end), чтобы посчитать интервал между датами или временем в нужных единицах — дни, часы, минуты и т.д.
Вместо того чтобы самому высчитывать миллисекунды и делить их на 1000×60×60, просто используйте API из java.time.
Пример:
import java.time.*;
import java.time.temporal.ChronoUnit;
public class Demo {
public static void main(String[] args) {
LocalDate d1 = LocalDate.of(2023, 1, 1);
LocalDate d2 = LocalDate.of(2023, 1, 10);
long days = ChronoUnit.DAYS.between(d1, d2);
System.out.println(days); // 9
}
}
Так же можно считать:
ChronoUnit.HOURS.between(...)
ChronoUnit.MINUTES.between(...)
ChronoUnit.MONTHS.between(...)
Чисто, читаемо и без ошибок из-за ручных расчётов времени.
Java библиотека