6

2 つの日付を比較して、日付の有効期限が切れているかどうかを確認したい。

使用したコードは次のとおりです。

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

2 つの日付を確認したいのですが、成功しません。

私もそのようにチェックしようとしました:

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

しかし、それも機能していません。

4

6 に答える 6

50

java.util.Date クラスには、日付を比較する before メソッドと after メソッドがあります。

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

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

if(date1.after(date2)){
    //Do Something else
}
于 2013-04-10T12:17:18.680 に答える
5

この関数を使用してみてください。それはあなたを助けるでしょう:-

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");      
  }
}
于 2013-04-10T12:25:28.240 に答える
2

Date クラスの compareTo 関数を見てください。

JavaDoc

于 2013-04-10T12:17:23.533 に答える
1

以下を使用できます。

date1.before(date2);

また:

date1.after(date2);
于 2013-04-10T12:16:49.347 に答える
1

あなたequals(Object o)比較は正しいです。

ただし、日付の比較にはafter(Date d)before(Date d)を使用する必要があります。

于 2013-04-10T12:17:16.900 に答える