In this article, we will learn how to check whether one ZonedDateTime is After another ZonedDateTime using ZonedDateTime.isAfter() method in Java 1.8 version
Compare two ZonedDateTime using isAfter() method :
- If there are two ZonedDateTime and the requirement is to check whether one ZonedDateTime is after another ZonedDateTime, then isAfter() method can be used
- isAfter((ChronoZonedDateTime) – checks if the invoking ZonedDateTime is after the specified ZonedDateTime
- Comparison results –
- Returns true, if invoking ZonedDateTime is after the specified ZonedDateTime
- Returns false, if invoking ZonedDateTime is not after the specified ZonedDateTime
- Always returns false for self comparing ZonedDateTime
- Lets see an example for comparing two ZonedDateTime using isAfter() method
CheckZonedDateTimeIsAfterAnotherZonedDateTime.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | package in.bench.resources.java8.zoneddatetime.examples; import java.time.ZoneId; import java.time.ZonedDateTime; public class CheckZonedDateTimeIsAfterAnotherZonedDateTime { public static void main(String[] args) { // 1. get Current Zoned Date/time ZoneId zoneIdLocal = ZoneId.systemDefault(); ZonedDateTime currentZonedDateTime = ZonedDateTime.of( 2022 , 8 , 15 , 12 , 30 , 30 , 500 , zoneIdLocal); System.out.println( "1. Current Zoned Date/time is = " + currentZonedDateTime); // 2. form Past Date/time ZoneId zoneIdPast = ZoneId.of( "Australia/Sydney" ); ZonedDateTime pastZonedDateTime = ZonedDateTime.of( 2022 , 8 , 15 , 12 , 30 , 30 , 500 , zoneIdPast); System.out.println( "2. Past Zoned Date/time is = " + pastZonedDateTime); // 3. form Future Date/time ZoneId zoneIdFuture = ZoneId.of( "America/Chicago" ); ZonedDateTime futureZonedDateTime = ZonedDateTime.of( 2022 , 8 , 15 , 12 , 30 , 30 , 500 , zoneIdFuture); System.out.println( "3. Future Zoned Date/time is = " + futureZonedDateTime); // 4. isAfter() - LocalDateTime comparison System.out.println( "\n\n4. Comparing 2 LocalDateTime using isAfter() method :- \n" ); // 4.1 check whether currentZonedDateTime isAfter futureZonedDateTime boolean isAfter1 = currentZonedDateTime.isAfter(futureZonedDateTime); System.out.println( "4.1 Current Date/time (" + currentZonedDateTime + ") \n\t\t is After Future Date/time (" + futureZonedDateTime + ") ? " + isAfter1); // 4.2 check whether currentZonedDateTime isAfter pastZonedDateTime boolean isAfter2 = currentZonedDateTime.isAfter(pastZonedDateTime); System.out.println( "4.2 Current Date/time (" + currentZonedDateTime + ") \n\t\t is After Past Date/time (" + pastZonedDateTime + ") ? " + isAfter2); // 4.3 check whether pastZonedDateTime isAfter currentZonedDateTime boolean isAfter3 = pastZonedDateTime.isAfter(currentZonedDateTime); System.out.println( "4.3 Past Date/time (" + pastZonedDateTime + ") \n\t\t is After Current Date/time (" + currentZonedDateTime + ") ? " + isAfter3); // 4.4 check whether pastZonedDateTime isAfter futureZonedDateTime boolean isAfter4 = pastZonedDateTime.isAfter(futureZonedDateTime); System.out.println( "4.4 Past Date/time (" + pastZonedDateTime + ") \n\t\t is After Future Date/time (" + futureZonedDateTime + ") ? " + isAfter4); // 4.5 check whether futureZonedDateTime isAfter currentZonedDateTime boolean isAfter5 = futureZonedDateTime.isAfter(currentZonedDateTime); System.out.println( "4.5 Future Date/time (" + futureZonedDateTime + ") \n\t\t is After Current Date/time (" + currentZonedDateTime + ") ? " + isAfter5); // 4.6 check whether futureZonedDateTime isAfter pastZonedDateTime boolean isAfter6 = futureZonedDateTime.isAfter(currentZonedDateTime); System.out.println( "4.6 Future Date/time (" + futureZonedDateTime + ") \n\t\t is After Past Date/time (" + pastZonedDateTime + ") ? " + isAfter6); // 5. isAfter() - self LocalDateTime comparison System.out.println( "\n\n5. Self comparing LocalDateTime using isAfter() method :- \n" ); // 5.1 check whether currentZonedDateTime isAfter currentZonedDateTime boolean isAfter7 = currentZonedDateTime.isAfter(currentZonedDateTime); System.out.println( "5.1 Current Date/time (" + currentZonedDateTime + ") \n\t\t is After Current Date/time (" + currentZonedDateTime + ") ? " + isAfter7); // 5.2 check whether pastZonedDateTime isAfter pastZonedDateTime boolean isAfter8 = pastZonedDateTime.isAfter(pastZonedDateTime); System.out.println( "5.2 Past Date/time (" + pastZonedDateTime + ") \n\t\t is After Past Date/time (" + pastZonedDateTime + ") ? " + isAfter8); // 5.3 check whether futureZonedDateTime isAfter futureZonedDateTime boolean isAfter9 = futureZonedDateTime.isAfter(futureZonedDateTime); System.out.print( "5.3 Future Date/time (" + futureZonedDateTime + ") \n\t\t is After Future Date/time (" + futureZonedDateTime + ") ? " + isAfter9); } } |
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 1. Current Zoned Date/time is = 2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta] 2. Past Zoned Date/time is = 2022-08-15T12:30:30.000000500+10:00[Australia/Sydney] 3. Future Zoned Date/time is = 2022-08-15T12:30:30.000000500-05:00[America/Chicago] 4. Comparing 2 LocalDateTime using isAfter() method :- 4.1 Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) is After Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) ? false 4.2 Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) is After Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) ? true 4.3 Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) is After Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) ? false 4.4 Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) is After Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) ? false 4.5 Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) is After Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) ? true 4.6 Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) is After Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) ? true 5. Self comparing LocalDateTime using isAfter() method :- 5.1 Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) is After Current Date/time (2022-08-15T12:30:30.000000500+05:30[Asia/Calcutta]) ? false 5.2 Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) is After Past Date/time (2022-08-15T12:30:30.000000500+10:00[Australia/Sydney]) ? false 5.3 Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) is After Future Date/time (2022-08-15T12:30:30.000000500-05:00[America/Chicago]) ? false |
Related Articles:
- Java 8 – ZonedDateTime with method details and examples
- Java 8 – How to get Date, Time and Zone fields from ZonedDateTime ?
- Java 8 – How to form ZonedDateTime passing Date, Time and Zone fields ?
- Java 8 – How to form ZonedDateTime passing LocalDate, LocalTime and ZoneId ?
- Java 8 – How to form ZonedDateTime passing LocalDateTime and ZoneId ?
- Java 8 – How to form ZonedDateTime passing Instant and ZoneId ?
- Java 8 – How to parse ZonedDateTime in String form ?
- Java 8 – How to convert String to ZonedDateTime ?
- Java 8 – How to convert ZonedDateTime to String ?
- Java 8 – How to convert ZonedDateTime in different formats ?
- Java 8 – How to convert ZonedDateTime in different Format Style ?
- Java 8 – How to convert ZonedDateTime to LocalDateTime ?
- Java 8 – How to convert ZonedDateTime to an OffsetDateTime ?
- Java 8 – How to convert ZonedDateTime to an Instant ?
- Java 8 – How to extract LocalDate and LocalTime and LocalDateTime from ZonedDateTime ?
- Java 8 – How to convert ZonedDateTime to java.util.Date and vice-versa ?
- Java 8 – How to convert ZonedDateTime to java.sql.Timestamp and vice-versa ?
- Java 8 – How to convert ZonedDateTime to Calendar and vice-versa ?
- Java 8 – How to convert ZonedDateTime to GregorianCalendar and vice-versa ?
- Java 8 – How to convert ZonedDateTime to XMLGregorianCalendar and vice-versa ?
- Java 8 – How to convert java.util.Date to ZonedDateTime in different ways ?
- Java 8 – How to add Date and Time fields to ZonedDateTime ?
- Java 8 – How to subtract Date and Time fields from ZonedDateTime ?
- Java 8 – How to alter Date, Time and Zone fields of ZonedDateTime ?
- Java 8 – How to check whether a ZonedDateTime is Before another ZonedDateTime ?
- Java 8 – How to check whether a ZonedDateTime is After another ZonedDateTime ?
- Java 8 – How to compare two ZonedDateTime instances ?
- Java 8 – How to find difference between two ZonedDateTime using Period & Duration ?
- More Java 8 Date/Time API examples
References:
- https://docs.oracle.com/javase/8/docs/api/java/time/ZonedDateTime.html
- https://docs.oracle.com/javase/8/docs/api/java/time/ZoneId.html
- https://docs.oracle.com/javase/8/docs/api/java/time/chrono/ChronoZonedDateTime.html
Happy Coding !!
Happy Learning !!