You can use the
ChronoUnit.DAYS enum to calculate the days between two
LocalDate instances in Java. It provides the
between() method to calculate the amount of time between two temporal objects:
// Create date instances LocalDate startDate = LocalDate.parse("2022-08-30"); LocalDate endDate = LocalDate.parse("2022-11-16"); // Calculate the difference long days = ChronoUnit.DAYS.between(startDate, endDate); // Print days System.out.println("Days between " + startDate + " and " + endDate + ": " + days); // Days between 2022-08-30 and 2022-11-16: 78
ChronoUnit enum class was introduced in Java 8 to represent individual date and time units such as day, month, year, week, hour, minutes, etc.
between() method returns the difference in days as a negative number if the start is after the end date, as shown below:
System.out.println(ChronoUnit.DAYS.between(endDate, startDate)); // -78
You can also use the
ChronoUnit enum to calculate the difference between two
LocalDate objects in weeks, months, and years:
System.out.println(ChronoUnit.WEEKS.between(startDate, endDate)); // 11 System.out.println(ChronoUnit.MONTHS.between(startDate, endDate)); // 2 System.out.println(ChronoUnit.YEARS.between(startDate, endDate)); // 0
Read this article to learn more about calculating the difference between two dates in Java.