В Java 8 мы можем использовать ChronoUnit. ДНИ.между (от, до) для расчета дней между двумя датами.
1. Локальная дата
package com.mkyong.java8;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class JavaBetweenDays1 {
public static void main(String[] args) {
LocalDate from = LocalDate.now();
LocalDate to = from.plusDays(10);
long result = ChronoUnit.DAYS.between(from, to);
System.out.println(result); // 10
}
}
Выход
10
2. Локальное время
package com.mkyong.java8;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
public class JavaBetweenDays2 {
public static void main(String[] args) {
LocalDateTime from = LocalDateTime.now();
LocalDateTime to = from.plusDays(10);
long result = ChronoUnit.DAYS.between(from, to);
System.out.println(result); // 10
LocalDateTime to2 = from.minusDays(10);
long result2 = ChronoUnit.DAYS.between(from, to2);
System.out.println(result2); // -10
}
}
Выход
10 -10
Рекомендации
- Дата и время Oracle – Java SE 8
- Учебные пособия по дате и времени Java
- Java 8 – Разница между двумя локальными датами или локальным временем
Оригинал: “https://mkyong.com/java8/java-8-how-to-calculate-days-between-two-dates/”