1

下面的代码工作正常,除了什么时候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"        
4

2 回答 2

2

您在 getInstance 中获取当前日期。然后你将月份设置为二月。问题是今天是30号。二月有28天。那是非法组合。将日期更改为有效日期,然后更改月份。

于 2013-03-30T05:41:28.617 回答
-1

在 set 方法中更改字段名称

calendar.YEAR   to   Calender.YEAR
calendar.MONTH   to  Calender.MONTH

它们是静态字段,应与类一起引用

于 2013-03-30T05:36:23.957 回答