`
7tianle
  • 浏览: 92927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Calendar的使用2(add set roll)方法的区别

阅读更多
例子说明:
假设: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:修改后如果符合实际,会调整,但不会改变调整的值,如例子中的MONTH。
Set: 会改变如把2月改为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    结果是 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());
结果是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());
结果是Wed Feb 28 17:29:12 CST 2001

转自:http://www.blogjava.net/vincent/archive/2007/10/12/152411.html

ss.set(year-1, month-1, day);
ss.set(year, month-3, day);
ss.set(year, month-1, day-1);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics