Calendar中add函数和roll函数的用法及区别
2015-04-13 13:03
295 查看
Calendar中add函数和roll函数的用法及区别
(2011-07-23 12:22:19)转载▼
标签:
| 分类: 技术文档 |
一、取某个时间点后的整点时刻。例如1984年7月7日15:23:05后的整点时刻即为1984-07-07 16:00:00。
实现如下:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.HOUR_OF_DAY, 1);//小时上加1
calendar.set(Calendar.MINUTE, 0);//分钟设为0
calendar.set(Calendar.SECOND, 0);//秒钟设为0
二、取某个日历之前的某个月。例如要取2002年1月12号之前1个月的时间,应该是2001年12月12日。
Calendar calendar = Calendar.getInstance();
calendar.set(2002, 0, 12);//代表2002年1月12日
calendar.add(Calendar.MONTH, -1);//这样就将日期设置成了2001年12月12日。
System.out.println(calendar.getTime().toString());
但是这种情况如果用roll()来实现。如以下代码:
Calendar calendar = Calendar.getInstance();
calendar.set(2002, 0, 12);//代表2002年1月12日
calendar.roll(Calendar.MONTH, -1);//这样就将日期设置成了2002年12月12日。
System.out.println(calendar.getTime().toString());
结论:roll()函数处理,只会比相应的字段进行处理,不会智能的对其它字段也进行逻辑上的改变。但是add()函数会在逻辑上改变其它字段,使结果正确。
注:Calendar中的Month是从0-11的,0代表1月,11代表12月。
相关文章推荐
- Calendar中add函数和roll函数的用法及区别
- Calendar中add函数和roll函数的用法及区别
- opengl红宝书关于name stack操作两个函数glLoadName,glPushName的用法区别
- php中strstr、strrchr、substr、stristr四个函数用法区别
- python 内建函数isinstance的用法以及与type的区别
- C++STL 排序函数sort和qsort的用法与区别
- sql中详解round(),floor(),ceiling()函数的用法和区别
- Oracle translate 函数的用法, 以及和replace的区别
- sql中详解round(),floor(),ceiling()函数的用法和区别?
- PHP echo,print,printf,sprintf函数之间的区别与用法详解
- Python函数参数中*与**的用法和区别
- clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别
- C++中几个输入函数的用法和区别
- php中print_r、var_dump和var_export几个函数的用法区别
- python 内建函数isinstance的用法以及与type的区别
- php中preg_replace()和ereg_replace()函数的用法区别
- php中empty函数与isset函数的用法区别
- 魔法引用函数magic_quotes_gpc和magic_quotes_runtime的区别和用法
- jQuery中attr()与prop()函数用法实例详解(附用法区别)
- 深入浅析php中sprintf与printf函数的用法及区别