Compare Java LocalDate Objects Example

This example shows how to compare LocalDate objects in Java with an example.

LocalDate represents a year-month-day in the ISO calendar and is useful for representing a date without a time. You might use a LocalDate to track a significant event, such as birth date or wedding date.

Read more about LocalDate class with an example at

Compare Java LocalDate Objects Example 

The LocalDate class provides below APIs to compare LocalDate objects in Java.
  • boolean isAfter(ChronoLocalDate other) - Checks if this date is after the specified date.
  • boolean isBefore(ChronoLocalDate other) - Checks if this date is before the specified date.
  • boolean isEqual(ChronoLocalDate other) - Checks if this date is equal to the specified date.
import java.time.LocalDate;
import java.time.Month;
 * Program to demonstrate LocalDate Class APIs.
 * @author
public class LocalDateExamples {
    public static void main(String[] args) {

    private static void compareLocalDate() {
        LocalDate localDate1 =;
        LocalDate localDate2 = LocalDate.of(2017, Month.MAY, 14);
        LocalDate localDate3 = LocalDate.of(2016, Month.MAY, 15);

        // isEqual() example
        if (localDate1.isEqual(localDate2)) {
            System.out.println("localDate1 and localDate2 are equal");
        } else {
            System.out.println("localDate1 and localDate2 are not equal");

        // ifAfter() example
        if (localDate2.isAfter(localDate3)) {
            System.out.println("localDate2 comes after localDate3");

        // isBefore() example
        if (localDate3.isBefore(localDate1)) {
           System.out.println("localDate3 comes before localDate1");
localDate1 and localDate2 are not equal
localDate2 comes after localDate3
localDate3 comes before localDate1