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 で現在の日付を取得しています。次に、月を 2 月に設定します。問題は、今日が30日だということです。2月は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 に答える