2012-05-07 23 views
1

次のスニペットを使用してDEC 31,2012として日付を設定しようとしていますが、ここで間違っています。 。カレンダーを使用して日付を設定する際の問題

ヶ月は0・インデックスが作成されているためです
Calendar today = Calendar.getInstance(); 
today.set(Calendar.MONTH, 13); 
today.set(Calendar.DAY_OF_MONTH, 31); 
today.set(Calendar.YEAR, 2012); 

long calendarNeverEndDate = today.getTime().getTime(); 
System.out.println("calendarNeverEndDate:" 
        + sdf.formatLocal(calendarNeverEndDate)); 

答えて

5

(はい、それは:-(日と矛盾します)

編集:ロマンが述べたように、それは定数

Calendar.DECEMBER 
+1

ああを使用することをお勧めします、Java date!無効な値を渡すと、予測不可能なやり方で振る舞います。 "有効な"値は直感的ではないことが多いです。* sigh * .BTWでは、Calendar.DECEMBERおそらくもっと安全です。 – Romain

関連する問題