0

月が 1 から 12 の間で、日が 1 から最大の間であることを確認することを含む、日付の検証を行う最良の方法は何ですか? それぞれの月の日 (うるう年を含む)?

4

2 に答える 2

1

これを使用して、日付が有効かどうかを確認できます。使用する目的に合わせて微調整できます (役に立たない情報を削除します)。

try {
            int dayInt = Integer.parseInt(day);
            int monthInt = Integer.parseInt(month);
            int yearInt = Integer.parseInt(year);
            Calendar cal = new GregorianCalendar();
            cal.setLenient(false);
            cal.set(yearInt, monthInt-1, dayInt);
            //this will throw an exception if the date is not valid:
            cal.getTime();
        } catch (Exception e) {         
            System.out.println("Invalid date entered.", e);
}

日付を検証するその他の方法については、カレンダー APIも確認してください。

于 2012-09-27T16:03:49.687 に答える
1

圧縮されたよりクリーンな方法で:

Calendar cal = Calendar.getInstance();
try {
    cal.setTime(theConcernedDate);
}
catch (Exception e) {
  System.out.println("Invalid date");
}
于 2012-09-27T16:11:44.793 に答える