Java Compare two LocalDateTime Values

Tags: Java LocalDateTime Java 8

In this Java core tutorial we learn how to compare two java.time.LocalDateTime objects in Java programming language using compareTo(), isEqual(), equals(), isBefore() and isAfter() methods.

Table of contents

  1. Compare two LocalDateTime objects using compareTo() method
  2. Compare two LocalDateTime objects for Equality
  3. Compare if a LocalDateTime object is before another LocalDateTime object
  4. Compare if a LocalDateTime object is after another LocalDateTime object

Compare two LocalDateTime objects using compareTo() method

In Java, to compare two LocalDateTime objects for ordering we can use the LocalDateTime.compareTo() method which return int value of -1, 0 or 1 if the LocalDateTime object is before, equal to or after the LocalDateTime object it compare to.

The following Java example code to show the LocalDateTime.compareTo() method return -1 when the LocalDateTime object is before another LocalDateTime object it compare to.

CompareLocalDateTimeExample1.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample1 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);

        int compareToResult = localDateTime1.compareTo(localDateTime2);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime1 compare to localDateTime2: " + compareToResult);
    }
}
The output as below.
localDateTime1: 2022-04-24T01:10:10
localDateTime2: 2022-04-24T02:20:20
localDateTime1 compare to localDateTime2: -1

The following Java example code to show the LocalDateTime.compareTo() method return 0 when the LocalDateTime object is equal to another LocalDateTime object it compare to.

CompareLocalDateTimeExample2.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample2 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        int compareToResult = localDateTime1.compareTo(localDateTime2);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime1 compare to localDateTime2: " + compareToResult);
    }
}
The output as below.
localDateTime1: 2022-04-24T01:10:10
localDateTime2: 2022-04-24T01:10:10
localDateTime1 compare to localDateTime2: 0

The following Java example code to show the LocalDateTime.compareTo() method return 1 when the LocalDateTime object is after another LocalDateTime object it compare to.

CompareLocalDateTimeExample3.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample3 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        int compareToResult = localDateTime1.compareTo(localDateTime2);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime1 compare to localDateTime2: " + compareToResult);
    }
}
The output as below.
localDateTime1: 2022-04-24T02:20:20
localDateTime2: 2022-04-24T01:10:10
localDateTime1 compare to localDateTime2: 1

Compare two LocalDateTime objects for Equality

In Java to compare two LocalDateTime values are equal or not we can use the LocalDateTime.isEqual() method as the following example Java code.

CompareLocalDateTimeExample4.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample4 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime3 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        boolean isEqualResult1 = localDateTime1.isEqual(localDateTime2);
        boolean isEqualResult2 = localDateTime1.isEqual(localDateTime3);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime3: " + localDateTime3);
        System.out.println("localDateTime1 is equal to localDateTime2: " + isEqualResult1);
        System.out.println("localDateTime1 is equal to localDateTime3: " + isEqualResult2);
    }
}
The output as below.
localDateTime1: 2022-04-24T02:20:20
localDateTime2: 2022-04-24T02:20:20
localDateTime3: 2022-04-24T01:10:10
localDateTime1 is equal to localDateTime2: true
localDateTime1 is equal to localDateTime3: false

The LocalDateTime class also provide equals() method which return the same result with isEqual() method, we learn how to use the LocalDateTime.equals() method in the following Java program.

CompareLocalDateTimeExample5.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample5 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime3 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        boolean equalsResult1 = localDateTime1.equals(localDateTime2);
        boolean equalsResult2 = localDateTime1.equals(localDateTime3);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime3: " + localDateTime3);
        System.out.println("localDateTime1 is equal to localDateTime2: " + equalsResult1);
        System.out.println("localDateTime1 is equal to localDateTime3: " + equalsResult2);
    }
}
The output as below.
localDateTime1: 2022-04-24T02:20:20
localDateTime2: 2022-04-24T02:20:20
localDateTime3: 2022-04-24T01:10:10
localDateTime1 is equal to localDateTime2: true
localDateTime1 is equal to localDateTime3: false

Compare if a LocalDateTime object is before another LocalDateTime object

In Java to check if a LocalDateTime object is before another specified LocalDateTime object we can use the LocalDateTime.isBefore() method as following Java code.

CompareLocalDateTimeExample6.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample6 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 3, 30, 30);
        LocalDateTime localDateTime3 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        boolean isBeforeResult1 = localDateTime1.isBefore(localDateTime2);
        boolean isBeforeResult2 = localDateTime1.isBefore(localDateTime3);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime3: " + localDateTime3);
        System.out.println("localDateTime1 is before localDateTime2: " + isBeforeResult1);
        System.out.println("localDateTime1 is before localDateTime3: " + isBeforeResult2);
    }
}
The output as below.
localDateTime1: 2022-04-24T02:20:20
localDateTime2: 2022-04-24T03:30:30
localDateTime3: 2022-04-24T01:10:10
localDateTime1 is before localDateTime2: true
localDateTime1 is before localDateTime3: false

Compare if a LocalDateTime object is after another LocalDateTime object

In Java to check if a LocalDateTime object is after another specified LocalDateTime object we can use the LocalDateTime.isAfter() method as following Java code.

CompareLocalDateTimeExample7.java

import java.time.LocalDateTime;

public class CompareLocalDateTimeExample7 {
    public static void main(String... args) {
        LocalDateTime localDateTime1 = LocalDateTime.of(2022, 4, 24, 2, 20, 20);
        LocalDateTime localDateTime2 = LocalDateTime.of(2022, 4, 24, 3, 30, 30);
        LocalDateTime localDateTime3 = LocalDateTime.of(2022, 4, 24, 1, 10, 10);

        boolean isAfterResult1 = localDateTime1.isAfter(localDateTime2);
        boolean isAfterResult2 = localDateTime1.isAfter(localDateTime3);

        System.out.println("localDateTime1: " + localDateTime1);
        System.out.println("localDateTime2: " + localDateTime2);
        System.out.println("localDateTime3: " + localDateTime3);
        System.out.println("localDateTime1 is after localDateTime2: " + isAfterResult1);
        System.out.println("localDateTime1 is after localDateTime3: " + isAfterResult2);
    }
}
The output as below.
localDateTime1: 2022-04-24T02:20:20
localDateTime2: 2022-04-24T03:30:30
localDateTime3: 2022-04-24T01:10:10
localDateTime1 is after localDateTime2: false
localDateTime1 is after localDateTime3: true

Happy Coding 😊

Java Compare two LocalTime Values

Java Compare two LocalDate Values

Java Compare two Calendar Values

Java Compare two Date Values

Java Convert LocalDateTime to String

Java Convert LocalDateTime to LocalDate

Java Convert LocalDateTime to LocalTime

Java Convert LocalDateTime to OffsetDateTime

Java Convert LocalDateTime to ZonedDateTime

Java Convert LocalDateTime to Calendar

Java Convert LocalDateTime to Date

Java Convert LocalDateTime to Instant

Java LocalTime by Examples

Java LocalDate by Examples

Java LocalDateTime by Examples

Java Date by Examples

Java Calendar by Examples

Java Calendar using Calendar.Builder by Examples