В 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/”