[java] java Compare two dates

I want to compare two dates and check if the date has expired or not.

Here is the code I used :

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:ss:ii");
Date date1 = sdf.parse("20012-10-4 10:15:25");
Date date2 = sdf.parse("2013-10-4 10:15:25");

    System.out.println("Both are equals");

I want to check the two dates but without success.

I also tried to check it like that :

if(date1 >= date2){
    System.out.println("Both are not equals");

But it's not working either.

This question is related to java date

The answer is

You can use:




Try using this Function.It Will help You:-

public class Main {   
public static void main(String args[]) 
  Date today=new Date();                     
  Date myDate=new Date(today.getYear(),today.getMonth()-1,today.getDay());
  System.out.println("My Date is"+myDate);    
  System.out.println("Today Date is"+today);
     System.out.println("Today Date is Lesser than my Date");
  else if(today.compareTo(myDate)>0)
     System.out.println("Today Date is Greater than my date"); 
     System.out.println("Both Dates are equal");      

You should look at compareTo function of Date class.


Read JavaDocs.

Use method:


You equals(Object o) comparison is correct.

Yet, you should use after(Date d) and before(Date d) for date comparison.