In many scenarios, it is necessary to calculate the number of days between two given dates. For example, to find the duration between two events, calculate the age of a person.

Using the java’s powerful date and time functionalities we can easily do such calculations. In this article, we will see how to calculate the number of days between two dates in Java using the java.time package.

Get the input dates

Let us get started by taking the necessary input dates from the user. We can use thejava.time.LocalDate to represent these dates.

Calculate the duration

To calculate the duration between the two dates, we can use the java.time.temporal.ChronoUnit enum, which has various units of time measurement. For our use case, we need to utilize the ChronoUnit.DAYS unit.

Just, use the between() method from the ChronoUnit enum, passing the two dates as arguments to calculate the difference in days.

Following is the example:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class DaysBetweenCalculator {
    public static void main(String[] args) {
        // Obtain the input dates
        LocalDate date1 = LocalDate.of(2023, 1, 1);
        LocalDate date2 = LocalDate.of(2023, 12, 31);

        // Calculate the number of days between the dates
        long daysBetween = ChronoUnit.DAYS.between(date1, date2);

        // Print the result
        System.out.println("Number of days between " + date1 + " and " + date2 + ": " + daysBetween);


Q: Can I calculate the number of days including both start and end dates?

A: The calculation provided in the example considers the number of days between two dates exclusively. To include both the start and end dates in the count, you can add 1 to the result manually.

Q: Are there other units available in the ChronoUnit enum for measuring time?

A: Yes, the ChronoUnit enum provides various units such as years, months, hours, minutes, and more. You can explore these units and adapt the calculation based on your specific requirements.


Categorized in:

Tagged in: