0

形式のプロパティ ファイルからハード コードされた日付を取得していますdd-MMM-yyyy

今、同じ形式の現在の日付と比較する必要があります。その目的のために、私はこのコードを作成しました:

Date convDate = new Date();
Date currentFormattedDate = new Date();
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
convDate = new SimpleDateFormat("dd-MMM-yyyy").parse("20-Aug-2013");
currentFormattedDate = new Date(dateFormat.format(currentFormattedDate)); 
if(currentFormattedDate.after(convDate) || currentFormattedDate.equals(convDate)){
  System.out.println("Correct");
}else{
  System.out.println("In correct");
}

しかし、日食はnew Date減価償却されていることを教えてくれます。これを行う別の方法を知っている人はいますか? 私はこれに夢中になっています。ありがとう !

4

3 に答える 3

3

方法の 1 つは、Calendarクラスとそのafter()equals()、およびbefore()メソッドを使用することです。

Calendar currentDate = Calendar.getInstance();
Calendar anotherDate = Calendar.getInstance();
Date convDate = new SimpleDateFormat("dd-MMM-yyyy").parse("20-Aug-2013");
anotherDate.setTime(convDate);
if(currentDate .after(anotherDate) || 
   currentDate .equals(anotherDate)){
    System.out.println("Correct");
}else{
   System.out.println("In correct");
}

Jodatime ライブラリを使用することもできます。この SO answerを参照してください。

于 2013-08-20T07:24:53.783 に答える
1

Date(long)コンストラクターを使用する必要があります。

Date convDate = new Date(System.currentTimeMillis());

このようにして、非推奨の警告を回避し、システム時間で Date インスタンスを取得します。

于 2013-08-20T07:23:32.460 に答える
1

Dateエポックからのミリ秒数を表します。Dateから返されたものを使用しないのはなぜですか

Date currentFormattedDate = new Date();

?

于 2013-08-20T07:23:32.763 に答える