PHPに比べるとめんどくさいのね。
入力はString型とする。
入力日付フォーマットをチェックしつつ日付の妥当性も検証する。
なお内部的にはCalendarクラスのsetLenientメソッドを呼んでいるので引数がintの場合はCalendarクラスを利用したサンプル
(そっちは世の中にありふれてる)を使うといいだろう。
 String dateString = “2007-07-30”;
  SimpleDateFormat sdf = new
SimpleDateFormat(“yyyy-MM-dd”);
     // 日付解析を厳密に行う(2/31などはNG)
     sdf.setLenient(false);
  try {
   Date date = sdf.parse(dateString);
   return sdf.format(date);
  } catch (ParseException e) {
   // 不正な日付のときはこのブロックに到達
  }
JavaScriptとかASPでも同種の処理を作った覚えがある。
たしかフォーマットをかける前とかけた後を比較して同じだったら正常日付、違ったら不正日付とみなしていた。
