Period between() method in Java with Examples

The between() method of Period class in Java is used to obtain a period consisting of the number of years, months, and days between two given dates (including start date and excluding end date).

This period is obtained as follows:

  • Remove complete months.
  • Now, calculate the remaining number of days.
  • Then, adjust to ensure that both have the same sign.
  • Now, split the number of months into years and months based on a 12 month year.
  • Consider a month, if the end day-of-month is greater than or equal to the start day-of-month (Eg.: from 2017-05-12 to 2018-07-18 is one year, two months and six days).

Note: Period obtained from above formula can be a negative, if the end is before the start. The negative sign will be the same in each of year, month and day.


public static Period between(LocalDate startDateInclusive,
                             LocalDate endDateExclusive)


  • startDateInclusive – The start date is inclusive and must not be null.
  • endDateExclusive – The end date is exclusive and must not be null.

Return Value: The between() function of period returns the period between the given start and end date.

Below is the implementation of above function:





// Java code to show the period
// between given start and end date
import java.time.LocalDate;
import java.time.Period;
public class PeriodClass {
    // Function to calculate period between
    // start and end date
    static void calculatePeriod(LocalDate startDate,
                                LocalDate endDate)
        Period period = Period.between(startDate, endDate);
        System.out.println("Period between start and end "
                           + "date is : " + period);
    // Driver Code
    public static void main(String[] args)
        // Start date
        LocalDate startDate = LocalDate.parse("2017-02-13");
        // End date
        LocalDate endDate = LocalDate.parse("2018-08-20");
        calculatePeriod(startDate, endDate);



Period between start and end date is : P1Y6M7D


Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.