2012-03-17 63 views
0

當我使用實例GregorianCalendar的這樣一個新的日期:Java - GregorianCalendar輸出錯誤的年份?

GregorianCalendar myCal = new GregorianCalendar(29,5,2011); 

然後,最後,我執行下面的代碼(希望它返回2011),並返回35.我想知道這是爲什麼,因爲我需要將其與2011年通過的日期進行比較。

System.out.println(myCal.get(Calendar.YEAR)); 

回答

6

你甚至閱讀documentation /方法簽名?

public GregorianCalendar(int year, int month, int dayOfMonth) 

試試這個:

GregorianCalendar myCal = new GregorianCalendar(2011, Calendar.MAY, 29); 

而且BTW:5月份其實是6月,我猜你想要月(月份是從0開始)。爲了避免混淆使用的常量像(等於4 ......)

0

GregorianCalendar構造你使用的是不指望請將dayOfMonth,月,年作爲參數,但年,月,請將dayOfMonth。詳情請參閱JavaDoc