当calendar.month设置为1时,Android Calendar illegalArgumentException

时间:2013-03-30 05:33:19

标签: android android-calendar

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:-1)

更改set方法

中的字段名称
calendar.YEAR   to   Calender.YEAR
calendar.MONTH   to  Calender.MONTH

它们是静态字段,应该使用Class

引用