「Java/Calendar/日付チェックしたいの」の編集履歴(バックアップ)一覧はこちら
「Java/Calendar/日付チェックしたいの」(2007/03/16 (金) 16:56:24) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
日付妥当チェックしたいとき。
たとえば2007/02/30はただしい日付なのか?
普通にCalendar型にsetしてもこれは2007/03/02って設定されちゃう。
そうしないためにはsetLenient()メソッド。
**日付解釈を厳密にしない。
>Calendar cal = Calendar.getInstance();
>cal.setLenient( true );
これで
>cal.set(2007, 2, 30);
>System.out.println(cal.get(Calendar.YEAR)) + "年" + cal.get(Calendar.MONTH)+1) + "月" + cal.get(Calendar.DATE) + "日");
とやると結果は
>2007年3月2日
になるの。
**日付解釈を厳密にする。
>Calendar cal = Calendar.getInstance();
>cal.setLenient( false );
>cal.getTime();
これで
>cal.set(2007, 2, 30);
とやると最後のところで例外IllegalArgumentExceptionが発生。
これつかって日付として正しい値なのかチェックができるのね。
**例外を使って日付チェック
>Calendar cal = Calendar.getInstance();
>cal.setLenient( false );
>cal.set(yyyy, mm, dd);
>try{
> cal.set(year, month-1, day);
> cal.getTime();
> System.out.println(cal.get(Calendar.YEAR)) + "年"
> + cal.get(Calendar.MONTH)+1) + "月"
> + cal.get(Calendar.DATE) + "日");
>} catch (IllegalArgumentException e){
> System.out.println(だめだめじゃーん?);
>}
yyyy:年
mm:月
dd:日
を設定して実行する。月の設定方法に注意。
getTime()メソッド使用時に例外が発生するのが日付としておかしい内容。
妥当って打とうとして「だちょう」になっちゃったですよ!
目次
#contents
**日付妥当チェックしたいとき。
たとえば2007/02/30はただしい日付なのか?
普通にCalendar型にsetしてもこれは2007/03/02って設定されちゃう。
そうしないためにはsetLenient()メソッド。
**日付解釈を厳密にしない。
>Calendar cal = Calendar.getInstance();
>cal.setLenient( true );
これで
>cal.set(2007, 2, 30);
>System.out.println(cal.get(Calendar.YEAR)) + "年" + cal.get(Calendar.MONTH)+1) + "月" + cal.get(Calendar.DATE) + "日");
とやると結果は
>2007年3月2日
になるの。
**日付解釈を厳密にする。
>Calendar cal = Calendar.getInstance();
>cal.setLenient( false );
>cal.getTime();
これで
>cal.set(2007, 2, 30);
とやると最後のところで例外IllegalArgumentExceptionが発生。
これつかって日付として正しい値なのかチェックができるのね。
**例外を使って日付チェック
>Calendar cal = Calendar.getInstance();
>cal.setLenient( false );
>cal.set(yyyy, mm, dd);
>try{
> cal.set(year, month-1, day);
> cal.getTime();
> System.out.println(cal.get(Calendar.YEAR)) + "年"
> + cal.get(Calendar.MONTH)+1) + "月"
> + cal.get(Calendar.DATE) + "日");
>} catch (IllegalArgumentException e){
> System.out.println(だめだめじゃーん?);
>}
yyyy:年
mm:月
dd:日
を設定して実行する。月の設定方法に注意。
getTime()メソッド使用時に例外が発生するのが日付としておかしい内容。
妥当って打とうとして「だちょう」になっちゃったですよ!
表示オプション
横に並べて表示:
変化行の前後のみ表示: