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
- Compare two LocalDateTime objects using compareTo() method
- Compare two LocalDateTime objects for Equality
- Compare if a LocalDateTime object is before another LocalDateTime object
- 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);
}
}
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);
}
}
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);
}
}
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);
}
}
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);
}
}
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);
}
}
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);
}
}
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 😊
Related Articles
Java Compare two LocalTime Values
Java Compare two LocalDate Values
Java Compare two Calendar 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