Monday, June 5, 2017

Java 8 Date and Time API: How to Compare Date and Time


In this tutorial, you will learn:
  • How to compare two given LocalDate (e.g. determine if two LocalDate are equal)
  • How to compare two given LocalTime (e.g. determine if two LocalTime are equal)
  • How to find the difference between two LocalDate(e.g. number of days in between)
  • How to find the difference between two LocalTime (e.g. number of minutes in between)
Example
package com.melody.datetime;

import java.time.LocalDate;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;

public class CompareDateTimeDemo {

 public static void main(String[] args) {
  // Compare LocalDate and calculate differences between two LocalDate
  LocalDate localDate1 = LocalDate.now();
  LocalDate localDate2 = localDate1.plusDays(30);

  System.out.println("Date 1: " + localDate1);
  System.out.println("Date 2: " + localDate2);
  System.out.println("Date 1 is after Date 2? " + localDate1.isAfter(localDate2));
  System.out.println("Date 1 is before Date 2? " + localDate1.isBefore(localDate2));
  System.out.println("Date 1 is equal to Date 2? " + localDate1.isEqual(localDate2));
  System.out.println("No. of days between Date 1 and Date 2: " + ChronoUnit.DAYS.between(localDate1, localDate2));

  // Compare LocalTime calculate differences between two LocalTime
  LocalTime localTime1 = LocalTime.now();
  LocalTime localTime2 = localTime1.minusHours(3);

  System.out.println("\nTime 1: " + localTime1);
  System.out.println("Time 2: " + localTime2);
  System.out.println("Time 1 is after Time 2? " + localTime1.isAfter(localTime2));
  System.out.println("Time 1 is before Time 2? " + localTime1.isBefore(localTime2));
  System.out.println("No. of hours between Time 1 and Time 2: " + ChronoUnit.HOURS.between(localTime2, localTime1));
 }
}
Output

Date 1: 2017-06-05
Date 2: 2017-07-05
Date 1 is after Date 2? false
Date 1 is before Date 2? true
Date 1 is equal to Date 2? false
No. of days between Date 1 and Date 2: 30

Time 1: 16:53:59.403
Time 2: 13:53:59.403
Time 1 is after Time 2? true
Time 1 is before Time 2? false
No. of hours between Time 1 and Time 2: 3


No comments:

Post a Comment