# How do I calculate difference between two dates?

In this example you’ll learn how to use the `java.time.Period` class (from Java 8) to calculate difference between two dates. Using `Period.between()` method will give us difference between two dates in years, months and days period.

Besides using the `Period` class we also use the `ChronoUnit` enum to calculate difference between two dates. We use the `ChronoUnit.YEARS`, `ChronoUnit.MONTHS` and `ChronoUnit.DAYS` and call the `between()` method to get the difference between two dates in years, months and days.

Let’s see an example below.

``````package org.kodejava.example.datetime;

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

public class DateDifference {
public static void main(String[] args) {
LocalDate birthDate = LocalDate.of(1995, Month.AUGUST, 17);
LocalDate now = LocalDate.now();

// Obtains a period consisting of the number of years, months and days
// between two dates.
Period age = Period.between(birthDate, now);
System.out.printf("You are now %d years, %d months and %d days old.%n",
age.getYears(), age.getMonths(), age.getDays());

// Using ChronoUnit to calculate difference in years, months and days
// between two dates.
long years = ChronoUnit.YEARS.between(birthDate, now);
long months = ChronoUnit.MONTHS.between(birthDate, now);
long days = ChronoUnit.DAYS.between(birthDate, now);

System.out.println("Diff in years  = " + years);
System.out.println("Diff in months = " + months);
System.out.println("Diff in days   = " + days);
}
}
``````

The result of our code snippet above are:

``````You are now 20 years, 5 months and 5 days old.
Diff in years  = 20
Diff in months = 245
Diff in days   = 7463
``````

1. Naissur