Calendar的使用2(add set roll)方法的區(qū)別
例子說明:
假設(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:修改后如果符合實(shí)際,會(huì)調(diào)整,但不會(huì)改變調(diào)整的值,如例子中的MONTH。
Set: 會(huì)改變?nèi)绨?月改為3月。
roll:于Add類似,不同在于不會(huì)改變最大的日期單位,如還是2001 不會(huì)為2002。
下面為代碼演示:
set
add
roll
假設(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:修改后如果符合實(shí)際,會(huì)調(diào)整,但不會(huì)改變調(diào)整的值,如例子中的MONTH。
Set: 會(huì)改變?nèi)绨?月改為3月。
roll:于Add類似,不同在于不會(huì)改變最大的日期單位,如還是2001 不會(huì)為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
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
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
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
posted on 2007-10-12 17:35 advincenting 閱讀(6049) 評(píng)論(2) 編輯 收藏