java比较两个日期

时间:2013-04-10 12:14:11

标签: java date

我想比较两个日期并检查日期是否已过期。

以下是我使用的代码:

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");

if(date1.equals(date12)){
    System.out.println("Both are equals");
}

我想查看两个日期,但没有成功。

我也试过这样检查:

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

但它也没有用。

6 个答案:

答案 0 :(得分:47)

java.util.Date类具有比较日期的方法之前和之后。

Date date1 = new Date();
Date date2 = new Date();

if(date1.before(date2)){
    //Do Something
}

if(date1.after(date2)){
    //Do Something else
}

答案 1 :(得分:4)

尝试使用此功能。它会帮助您: -

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);
  if(today.compareTo(myDate)<0)
     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"); 
  else
     System.out.println("Both Dates are equal");      
  }
}

答案 2 :(得分:2)

阅读JavaDocs

使用方法:

 Date.compareTo()

答案 3 :(得分:2)

您应该查看Date类的compareTo函数。

JavaDoc

答案 4 :(得分:1)

您可以使用:

date1.before(date2);

或:

date1.after(date2);

答案 5 :(得分:1)

equals(Object o)比较是正确的。

但是,您应该使用after(Date d)before(Date d)进行日期比较。