Javaで日付妥当性チェック

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でも同種の処理を作った覚えがある。
たしかフォーマットをかける前とかけた後を比較して同じだったら正常日付、違ったら不正日付とみなしていた。

カテゴリー: Java パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.