java比较两个日期

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

这是我使用的代码:

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

但它也没有用。

java.util.Date类有前后方法来比较日期。

 Date date1 = new Date(); Date date2 = new Date(); if(date1.before(date2)){ //Do Something } if(date1.after(date2)){ //Do Something else } 

尝试使用此function。它会帮助你: –

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

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

的JavaDoc

阅读JavaDocs

使用方法:

  Date.compareTo() 

您可以使用:

 date1.before(date2); 

要么:

 date1.after(date2); 

你等于(对象o)比较是正确的。

但是,您应该在(日期d)之后和之前(日期d)使用日期比较。