例子說明:
假設(shè):f= 2001-1-30
f.add(Calendar.Month, 13) = 2002.2.28
f.set(Calendar.Month,2) = 2002.3.2
f.roll(Calendar.Month, 13) = 2001.2.28
Add:修改后如果符合實際,會調(diào)整,但不會改變調(diào)整的值,如例子中的MONTH。
Set: 會改變?nèi)绨?月改為3月。
roll:于Add類似,不同在于不會改變最大的日期單位,如還是2001 不會為2002。
下面為代碼演示:
set
1 Calendar calendar = Calendar.getInstance();
2 calendar.set(2001, Calendar.JANUARY, 29);
3 calendar.set(Calendar.MONTH, 13);
4 System.out.println(calendar.getTime());
5 結(jié)果是 Fri Mar 01 17:25:53 CST 2002
add
1 Calendar calendar = Calendar.getInstance();
2 calendar.set(2001, Calendar.JANUARY, 29);
3 calendar.add(Calendar.MONTH, 13);
4 System.out.println(calendar.getTime());
結(jié)果是Thu Feb 28 17:28:07 CST 2002
roll
1 Calendar calendar = Calendar.getInstance();
2 calendar.set(2001, Calendar.JANUARY, 29);
3 calendar.roll(Calendar.MONTH, 13);
4 System.out.println(calendar.getTime());
結(jié)果是Wed Feb 28 17:29:12 CST 2001