文档章节

Calendar中add函数和roll函数的用法及区别

亭子happy
 亭子happy
发布于 2015/02/10 14:17
字数 304
阅读 241
收藏 3

Calendar中add()和roll()函数的用法

一、取某个时间点后的整点时刻。例如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月。


本文转载自:http://blog.sina.com.cn/s/blog_62c89b450100sau9.html

亭子happy
粉丝 120
博文 238
码字总数 46521
作品 0
海淀
程序员
私信 提问
日期(字符串转日期,日期转字符串,日期加减)

这几天在研究字符串与指定类型的转换,阴差阳错地研究起 java 的日期应用了,记录下来,希望你有帮助。 根据指定格式的字符串,转换为 Date(可研究根据指定格式的字符串,转化为其他指定的类...

peiquan
2018/07/04
0
0
JAVA Calendar详解

(在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的...

小代码2016
2016/03/16
333
0
Java中Calendar的使用方法

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calen......

张欢19933
2016/02/23
51
0
Java Calendar Date使用总结

Java中Calendar的使用方法 package cn.outofmemory.codes.Date;import java.util.Calendar;import java.util.Date;public class CalendarDemo { public static void main(String[] args) { C......

青春微微博
2015/09/18
283
0
时间转换为天小时分钟秒系统当前时间相差8小时截取小数点后两位SqlServer日期函数

系统当前时间相差8小时,网上说是jdk1.5版本出现这种情况 public Timestamp getCurrentTimestamp() { TimeZone zone = TimeZone.getTimeZone("GMT+8");// 获取时区“东八区” TimeZone.setDe......

诸葛小马
2014/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于java中变量的重名问题

在java语言中,变量的命名有很多规则和规范,但是有的地方可以使用相同的变量名,有的地方却不能使用,这是为什么呢? 下面是个人的一点见解,是从作用域和内存来分析的,目的是为了方便理解...

INEVITABLE
9分钟前
2
0
MySQL的COUNT语句,竟然都能被面试官虐的这么惨?

数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,...

程序员修BUG
11分钟前
0
0
PHP+Mysql统计文件下载次数实例

PHP+Mysql统计文件下载次数实例,实现的原理也很简单,是通过前台点击链接download.php传参id,来更新点击次数。 获取文件列表: <?php require 'conn.php'; $query = mysql_query("S...

ymkjs1990
12分钟前
1
0
一、环境变量及Jshell

一、环境变量: 作用: 可执行文件所在位置的链接。CLI输入命令时,通过环境变量指引找到命令所在位置 windows的环境变量名不区分大小写,Linux区分 Windows下的用户变量即只有当前用户生效 ...

清自以敬
13分钟前
1
0
微软改名部又出手:Office 365正在悄悄更名为Microsoft 365

然而让人疑惑的是Microsoft 365 是微软面向企业提供的服务,这项服务附带操作系统以及办公软件的订阅授权。 现在把面向家庭消费者的办公软件也换成Microsoft 365 是什么操作?没人知道因为微...

linuxCool
13分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部