7

カレンダーメソッドを使用して年月日を設定したいのですが、日付が無効な場合など、何らかの表示が必要です

calendar.set(2013,Calendar.JANUARY , 23) //is a valid date
calendar.set(2013,Calendar.JANUARY , 33) //is not

値を 1 月 33 日に設定calendar.setLenient(false)すると例外がスローされることを期待して設定しましたが、そうではありませんでした。

4

2 に答える 2

8

チェックは怠惰に行われているようです:

寛容でない GregorianCalendar は、範囲外のフィールド値が設定されている場合、時間またはカレンダー フィールド値の計算時に例外をスローします。

したがって、これは例外をスローします:

Calendar c = new GregorianCalendar();
c.setLenient(false);
c.set(2013, Calendar.JANUARY, 33);
c.getTime();

しかし、なしではありませんgetTime

于 2013-07-02T22:05:47.077 に答える