Warning: include_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 2

Warning: include_once(http://www.confrage.com/bin/header.php): failed to open stream: no suitable wrapper could be found in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 2

Warning: include_once(): Failed opening 'http://www.confrage.com/bin/header.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 2
日付の妥当性をチェック | Java | 株式会社CONFRAGE
Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 17

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 17
日付の妥当性をチェック
java.util.Calendarクラスを使用して、日付の妥当性をチェックすることが出来ます。
まずsetメソッドで日付をセットします。
カレンダークラスのsetLenientメソッドにより日付を厳密に指定するようにし、その後getTimeメソッドを実行すると例外がスローされるので、それをキャッチして判断します。

サンプル
import java.util.Calendar;
import java.util.Date;
    public class TEST {
        public static void main(String argv[]){
            int year  = 2007;
            int month = 5;
            int day   = 32;
            
            Calendar c1 = Calendar.getInstance();
            c1.set(year,month - 1,day);
            c1.setLenient(false);
            
            try{
                Date d = c1.getTime();
                System.out.println(d);
            }catch(IllegalArgumentException a){
                System.out.println("Illegal!");
                return;
            }
            System.out.println("OK");
        }
    }
実行結果は以下のようになります。

Illegal!
Calendarクラスのset()メソッド
Calendarクラスのset()メソッドは引数に、年、月、日を渡しますが、月のみ0から指定するようになっています。
c1.set(2007,1,1)

とすると、2007/02/01を指定していることになります。
2007/01/01を指定したい場合は、c1.set(2007,0,1)とします。

Back to top

Information

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 109

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 109

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 118

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/validate_date/validate_date.html on line 118