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);
}
}
FAQs:
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.
References:
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html