- 浏览: 123227 次
- 性别:
- 来自: 成都
文章分类
细细体味 roll 和 add 的区别
直接上代码:
Using roll method
Case 1:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 29);
System.out.println(cal.getTime()); ==> Wed Feb 29 16:44:30 SGT 2012
cal.roll(Calendar.DAY_OF_YEAR, true);
System.out.println(cal.getTime()); ==> Thu Mar 01 16:44:30 SGT 2012
Case 2:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 29);
System.out.println(cal.getTime()); ==> Wed Feb 29 16:48:14 SGT 2012
cal.roll(Calendar.DAY_OF_MONTH, true);
System.out.println(cal.getTime()); ==> Wed Feb 01 16:48:14 SGT 2012
Case 3:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
System.out.println(cal.getTime()); ==> Mon Dec 31 16:50:12 SGT 2012
cal.roll(Calendar.DAY_OF_MONTH, true);
System.out.println(cal.getTime()); ==> Sat Dec 01 16:50:12 SGT 2012
Case 4:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
System.out.println(cal.getTime()); ==> Mon Dec 31 16:52:44 SGT 2012
cal.roll(Calendar.DAY_OF_YEAR, true);
System.out.println(cal.getTime()); ==> Sun Jan 01 16:52:44 SGT 2012
================================================================
Using add method
Case 1:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 29);
System.out.println(cal.getTime()); ==> Wed Feb 29 16:55:01 SGT 2012
cal.add(Calendar.DAY_OF_YEAR, 1);
System.out.println(cal.getTime()); ==> Thu Mar 01 16:55:01 SGT 2012
Case 2:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.FEBRUARY);
cal.set(Calendar.DAY_OF_MONTH, 29);
System.out.println(cal.getTime()); ==> Wed Feb 29 16:57:06 SGT 2012
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTime()); ==> Thu Mar 01 16:57:06 SGT 2012
Case 3:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
System.out.println(cal.getTime()); ==> Mon Dec 31 16:59:12 SGT 2012
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTime()); ==> Tue Jan 01 16:59:12 SGT 2013
Case 4:
GregorianCalendar cal = new GregorianCalendar();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.MONTH, Calendar.DECEMBER);
cal.set(Calendar.DAY_OF_MONTH, 31);
System.out.println(cal.getTime()); ==> Mon Dec 31 16:59:48 SGT 2012
cal.add(Calendar.DAY_OF_YEAR, 1);
System.out.println(cal.getTime()); ==> Tue Jan 01 16:59:48 SGT 2013
发表评论
-
eclipselink-DDL Schema Generation的四种方式
2016-10-12 00:17 589persistence.xml文件配置: < ... -
Java开发中的23种设计模式
2016-09-28 00:40 569设计模式(Design Patterns) ... -
ManyToOne 双向一对多关系
2016-08-05 01:38 525双向一对多关系,一是关系维护端(owner side),多是 ... -
理解RESTful架构
2016-06-22 00:33 578原文:http://www.ruanyifen ... -
foreach循环
2016-05-31 22:23 495这种有冒号的for循环叫做foreach循环,foreach语 ... -
java几种常用设计模式简单示例
2016-05-19 23:02 538PART A:前言 平常我们都在敲代码,为了要实现一些我们 ... -
iText PdfPCell内容水平垂直居中
2016-01-14 00:13 11907先调用Cell.setUseAscender(true);再调 ... -
深入理解 hash 函数、HashMap
2015-12-15 00:52 651http://www.2cto.com/kf/201409/3 ... -
iText的showTextAligned方法
2015-12-06 16:47 5538java使用itext的showTextAligned方法给 ... -
iText PdfTemplate的使用
2015-12-06 02:32 1439在开发系统时,需要在PDF上写入总页数。于是在网上搜索到 ... -
iText表格 分页
2015-11-30 23:31 5247前言 在上一节中,通过listing 4.16产生的表格拥 ... -
iText生成PDF文档部分页面横置
2015-11-27 02:02 5570整个PDF文档页面设置 Rectangle rect ... -
iText生成PDF格式设置
2015-11-27 00:52 2552import java.io.ByteArrayOutputS ... -
Spring中的IOC和AOP
2015-11-19 00:47 522IOC,依赖倒置的意思,所谓依赖,从程序的角度看,就是比如A要 ... -
【转载】纯Java获得本地MAC地址
2015-07-29 21:18 6071 import java.net.*; 2 3 clas ... -
Java笔试题
2014-05-25 21:53 5781. float型float f=3.4是否正 ... -
单例模式的常见应用场景
2014-05-25 21:30 881单例模式(Singleton)也叫单态模式,是设计模式中最 ... -
深入Java单例模式
2014-05-25 21:29 588在GoF的23种设计模式中,单例模式是比较简单的一种。然而 ... -
java 异常捕捉 ( try catch finally )
2014-05-25 21:15 589前言:java 中的异常处理机制你真的理解了吗?掌握了吗?c ... -
多线程的实现
2014-05-15 02:11 529http://www.cnblogs.com/rollenho ...
相关推荐
此外,`GregorianCalendar`还提供了添加和减去日期字段的方法,如`add`和`roll`。如果你想获取下一个月的日期,可以这样操作: ```java calendar.add(Calendar.MONTH, 1); // 添加1个月 ``` 在`Exercise6_6.java`...
3. 使用`roll`方法将日期回滚一天。 4. 调用`getTime()`方法获取`Date`对象。 5. 使用`SimpleDateFormat`将`Date`对象格式化为字符串。 示例代码如下: ```java SimpleDateFormat datef = new SimpleDateFormat(...
它同样继承了Calendar类的add()、set()、roll()等方法,并提供了特有的方法如getTime()和getTimeInMillis()。 java.text.DateFormat类为日期和时间的格式化和解析提供了工具。它支持日期时间的多种格式,适用于多种...
add() 方法用于将指定的日历字段增加或减少指定的值,而 roll() 方法用于将指定的日历字段增加或减少指定的值,但不会改变其他日历字段的值。 ```java SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); ...
add() 方法是将指定的时间量添加到 Calendar 对象上,而 roll() 方法是将指定的时间量滚动到 Calendar 对象上。代码示例如下: ```java SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = ...
1. **实例化**:由于`Calendar`是抽象类,不能直接实例化,通常我们通过`Calendar.getInstance()`静态方法获取一个具体的`Calendar`实例,如`GregorianCalendar`。 2. **设置日期**:`set`方法用于设置年、月、日、...
使用Calendar类的实例,可以通过调用add()和roll()方法来完成这些高级操作。 5. 本地化:Calendar类在设计时考虑到了国际化和本地化的需求。这意味着,当你从Calendar获取一个实例时,这个实例是按照调用者的地区...
通常,我们需要通过`getInstance()`静态方法获取一个具体类型的日历实例,如公历(GregorianCalendar)。例如: ```java Calendar calendar = Calendar.getInstance(); ``` `Calendar`类提供了丰富的API来操作日期...
roll方法可以将当前日期和时间的某个组成部分增加或减少指定的值,而不影响其他组成部分。 在实际应用中,Calendar类可以用于许多场景,例如记录用户登陆的时间、显示当前日期和时间、计算两个日期之间的差异等。...
`add()`方法可以增加或减少某个日期字段的值,而`roll()`方法则会在保持其他字段不变的情况下增加或减少一个字段。 ```java calendar.add(Calendar.DAY_OF_MONTH, 1); // 向后加一天 calendar.roll(Calendar....
`Calendar`类还提供了诸如获取周几(`get(Calendar.DAY_OF_WEEK)`)、获取一年中的第几天(`get(Calendar.DAY_OF_YEAR)`)等功能,以及调整日期(`roll()`方法)和判断闰年(`isLeapYear()`方法)等。 总之,Java的...
它是一个抽象类,不能直接实例化,而是通过`Calendar.getInstance()`方法获取其子类的实例,通常是`GregorianCalendar`,它是公历的实现。 以下是关于Java `Calendar`类的一些关键知识点: 1. **实例化**:如前所...
`Calendar`类是抽象类,实际使用时通常会通过`getInstance()`方法获取其子类`GregorianCalendar`的实例。 首先,让我们深入了解一下`Calendar`类。`Calendar`是Java日期和时间API的核心类,提供了与日期和时间相关...
`Calendar`提供了添加、减去日期字段的方法,如`add()`和`roll()`。 3. `java.time`包:自Java 8引入的新时间日期API,它提供了更加直观和易用的接口。主要的类有`LocalDate`、`LocalTime`、`LocalDateTime`、`...
- `roll(int field, boolean up)`:滚动某个时间字段,保持其他字段不变。 这些方法允许开发者灵活地创建、修改和比较日期时间,满足各种需求。 总之,`java.util.Calendar`是Java中处理日期和时间的核心类,通过`...
9. **迭代日期:** 可以使用`roll()`方法在一个日期字段内进行迭代,例如在一个月内的所有日期之间循环。 10. **国际化:** `Calendar`支持国际化,可以处理不同文化背景下的日期格式和习惯。 在压缩包中,可能...