例えば、"2006/8/23"といった文字列からDate型の比較変換については文字列からDate型の変換、比較 のとおりなのだが、指定した日と当日かどうかを判断する場合、以下のようにするとNG。
String date1 = "2006/8/23";
Date today = new Date(); //今日の日付(2006/8/23に実施)
SimpleDateFormat sdFormat= new SimpleDateFormat("yyyy/MM/dd");
String checkDate = sdFormat.parse(today);
int hantei = today.compareTo(checkDate);
これだと hantei = 1となってしまう。
何故か。
todayは確かに2006/8/23なのだか実際はWed Aug 23 12:02:00 JST 2006(処理が行われた時間)。である。これに対してdate1はWed Aug 23 00:00:00 JST 2006。
これが原因でした。なのでちょと面倒だけど以下todayのように修正
Date today = new Date();
SimpleDateFormat sdFormat= new SimpleDateFormat("yyyy/MM/dd");
String tmpDate = sdFormat.format(today);
today = sdFormat.parse(tmpDate);
これだとWed Aug 23 00:00:00 JST 2006となり同日の判定が可能である。