Java Data Type How to - Compare two date value for sequence








Question

We would like to know how to compare two date value for sequence.

Answer

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
//from w  ww .j  a  v a  2 s  .c om
public class Main {
  public static void main(String[] args) {
    try {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      Date date1 = sdf.parse("2015-12-31");
      Date date2 = sdf.parse("2015-01-31");

      System.out.println(sdf.format(date1));
      System.out.println(sdf.format(date2));

      if (date1.compareTo(date2) > 0) {
        System.out.println("Date1 is after Date2");
      } else if (date1.compareTo(date2) < 0) {
        System.out.println("Date1 is before Date2");
      } else if (date1.compareTo(date2) == 0) {
        System.out.println("Date1 is equal to Date2");
      } else {
        System.out.println("How to get here?");
      }

    } catch (ParseException ex) {
      ex.printStackTrace();
    }
  }
}

The code above generates the following result.