我想使用日历方法来设置年份日期和月份,但是如果日期无效,则需要某种指示,例如
calendar.set(2013,Calendar.JANUARY , 23) //is a valid date
calendar.set(2013,Calendar.JANUARY , 33) //is not
Run Code Online (Sandbox Code Playgroud)
我设置calendar.setLenient(false)并预计将值设置为1月33日会引发异常,但事实并非如此.
似乎检查是懒洋洋地完成的:
如果已设置任何超出范围的字段值,则非宽松的GregorianCalendar在计算其时间或日历字段值时会抛出异常.
所以这会给你一个例外:
Calendar c = new GregorianCalendar();
c.setLenient(false);
c.set(2013, Calendar.JANUARY, 33);
c.getTime();
Run Code Online (Sandbox Code Playgroud)
但不是没有getTime.