Skip to content
Related Articles
Open in App
Not now

Related Articles

Period between() method in Java with Examples

Improve Article
Save Article
  • Last Updated : 27 Nov, 2018
Improve Article
Save Article

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


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!