dポイントプレゼントキャンペーン実施中!

java カレンダーチェック 年チェック、月チェック、日チェックについて

年テキストボックス、月テキストボックス、日テキストボックスの3つがあります。
現在の処理方法としてyyyyとmmとddの間に「-」をつけ足してyyyy-mm-ddといった形でチェックメソッドを呼び出しています。
--メソッド内容--
public boolean isDate( String strDate ) throws Exception {
try {
if ( strDate == null || strDate.length() != 10) {
throw new IllegalArgumentException( "引数の文字列["+ strDate +"]" + "は不正です。");
}
String strDate2 = strDate.replace('-', '/'); //replace( 'before' , 'after' ) ; '-'が'/'になる

DateFormat format = DateFormat.getDateInstance();
// 日付/時刻解析を厳密に行うかどうかを設定する。
format.setLenient( false ) ;

format.parse( strDate2 ) ;
return true;

} catch ( IllegalArgumentException e ) {//引数に不正な値が渡された場合にキャッチする
System.out.println("IllegalArgumentException e でcatch");
return false;
} catch ( Exception e ) {
System.out.println("Exception e でcatch");
return false;
}
}//END try

--問題点--
2009/13/12 や
2009/12/32 の場合等、
年でエラーなのか、月でエラーなのか、日でエラーなのか特定できない処理です。
年と月と日でどこでエラーが出ているのかわかる日付チェックはありますでしょうか?
尚範囲指定のif文は考えたのですが、2/29のチェック(うるう年)ができないため、あきらめました。

よろしくお願いします。

A 回答 (4件)

#2です。


他の方の回答等で解決されているのではと思われますが、言っている意味について追加します。
google詳細検索は良く使われているものとしてURLは明示しませんでした。

また、月は1-12, 日は1,3-12月に対応して30又は31, 年は用途に応じて2009-2019, 1900-2999等の範囲等として容易にチェック出来ます。

2月が28日迄か29日迄かは閏年かどうかをチェックする必要があります。

google code search で サーチできます。
http://www.google.co.jp/advanced_search?hl=ja
検索オプション指定窓の一番下 トピック絞り込み検索:
New" Google ソースコード検索をクリックして検索してください。
http://www.google.co.jp/codesearch?hl=ja
必要であればソースコード検索オプションで言語:java等と指定できます。
http://www.google.co.jp/codesearch/advanced_code …
検索条件として "leap year check"
言語として   "java" を選択してください。

以上の操作で閏年チェック関係のコードが見つかります。

例えば、次のisLeapYear() methodが参考になります。
その他、年月日も含めたチェックコードも見つかるのではと思います。

http://www.google.co.jp/codesearch/p?hl=ja&sa=N& …

以上のことを読み取っていただけるものと考えていましたが、少し説明不足でした。 
    • good
    • 0

こちらにそっくりな質問があるのですが


http://detail.chiebukuro.yahoo.co.jp/qa/question …

回答も何件かついているようですが、参考にならなかったのでしょうか?
    • good
    • 0

google code search で サーチできます。


検索オプション指定窓の一番下 トピック絞り込み検索:
New" Google ソースコード検索をクリックして検索してください。
必要であればソースコード検索オプションで言語:java等と指定できます。
(leap year check...)

この回答への補足

???
言っている意味がよくわからないのですが・・・
すいません。
使い方が理解できません。アドバイスをお願いします。

補足日時:2009/11/06 00:28
    • good
    • 0

年と月は比較的簡単にチェックできませんか?


そうすると、年と月が正しい時に日チェックを行えば良いのでは?
日チェックは、parse等で良いでしょう。

この回答への補足

ご連絡ありがとうございます。
サンプルソースの記載されているサイトはありますでしょうか?

補足日時:2009/11/05 17:38
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!