Aggavara

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

日付チェック
これも良くありがちですね。YYYYMMDD形式以外はfalseです。

/**********************************************************************************************/
/** 日付チェック
** 文字列(YYYYMMDD)が日付として有効かチェックする。 ** @param String 入力文字列 YYYYMMDD ** @return boolean 有効 true 無効 false **/ public boolean DateChk(String myDate) { //入力文字列が8桁以外の場合エラー if (myDate.length() != 8) {return false;} for (int i=0;i < myDate.length();i++) { char charData = myDate.charAt(i); if ((charData < '0') || (charData > '9')) { return false; } } int intYear; int intMonth; int intDay; if (myDate.length() > 3) { intYear = java.lang.Integer.parseInt(myDate.substring(0,4));} else { intYear = 0;} if (myDate.length() > 5) { intMonth = java.lang.Integer.parseInt(myDate.substring(4,6));} else { intMonth = 0;} if (myDate.length() == 8) { intDay = java.lang.Integer.parseInt(myDate.substring(6,8));} else { intDay = 0;} Calendar cal = new GregorianCalendar(); cal.setLenient( false ); cal.set( intYear , intMonth-1 , intDay ); try { java.util.Date ud = cal.getTime(); } catch (IllegalArgumentException iae) { return false; } return true; } /**********************************************************************************************/
posted on 2012-10-09 09:41  Aggavara  阅读(285)  评论(0编辑  收藏  举报