Skip to content

# Period between() method in Java with Examples

• Last Updated : 27 Nov, 2018

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:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

• 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.

Syntax:

```public static Period between(LocalDate startDateInclusive,
LocalDate endDateExclusive)
```

Parameters:

• 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);``    ``}``}`
Output:
```Period between start and end date is : P1Y6M7D
```

My Personal Notes arrow_drop_up