Javaでは、特定の日付が今日の日付から1年以内であるかどうかを調べるにはどうすればよいですか?日付がJavaの今日の日付の1年前であるかどうかを調べる方法
私は以下がありますが、これが最善のアプローチであるかどうかはわかりません。
String date = "01/19/2005";
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date lastExamTakenDate = null;
Calendar todaysDateMinus1Year = Calendar.getInstance();
todaysDateMinus1Year.add(Calendar.YEAR, -1);
if (date!=null)
{
try {
lastExamTakenDate = df.parse(date);
if (lastExamTakenDate.before(todaysDateMinus1Year.getTime()))
hasToTakeExam = true;
} catch (ParseException ex) {
//exception
}
}
これは正しく動作しますか?コード構造ビューパイントから変更することがいくつかあります。まず、日付の先頭を解析し、解析できない場合はカレンダーを作成しないでください。次に、正確に1年(5月21日午後5時13分EST)か、カレンダーの時間/分/秒の部分を0にするかどうかを検討します – kdgregory