2012-07-24 101 views
-3

所以我們可以說我有這樣的代碼:日曆卷會環繞給定的年份,月份等嗎?

//someParameterizedDate = New Years Eve 2011 
Calendar cal = new GregorianCalendar(); 
cal.setTime(someParameterizedDate); 
cal.roll(Calendar.DAY_OF_YEAR, 1); 

將日曆現在等於2012年1月1日?我發現所有的JavaDocs有點混亂。

回答

4

java.util.Calendar

輥(F,增量)增加了增量到域F不更改更大的領域。 這相當於調用add(f,delta)與以下 調整:

滾動規則。通話結束後,較大的字段保持不變。較大的字段 代表較大的時間單位。 DAY_OF_MONTH是比 HOUR更大的字段。

你滾與DAY_OF_YEAR這意味着它不會影響MONTHYEAR這是更大的單位

因此,基本上,你應該讓你2011年12月1日

您可以使用add如果你想讓它去2012年1月1日

+0

謝謝你。真正有用。 – 2012-07-24 21:32:51