下面的代码工作正常,除了calendar.MONTH set to 1 (Feb)
,我不知道为什么?
感谢。
Calendar calendar = Calendar.getInstance();
calendar.setLenient(false);
calendar.set(Calendar.YEAR, 2013);
calendar.set(Calendar.MONTH, 1); // Only when "Feb" failed with illegalArgumentException
int maxDays = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); <= If Calendar.MONTH set to 1, this line will "java.lang.IllegalArgumentException"
答案 0 :(得分:2)
您在getInstance中获取当前日期。然后你将月份设置为2月。问题是今天是30日。二月有28天。这是一个非法的组合。将日期更改为有效日期,然后更改月份。
答案 1 :(得分:-1)
更改set方法
中的字段名称calendar.YEAR to Calender.YEAR
calendar.MONTH to Calender.MONTH
它们是静态字段,应该使用Class
引用