`

Calendar类add()与roll()方法的区别

    博客分类:
  • java
阅读更多
JDK API中对这两个方法的说明如下:
abstract  void add(int field, int amount)
          根据日历的规则,为给定的日历字段添加或减去指定的时间量。

abstract  void roll(int field, boolean up)
          在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。
void roll(int field, int amount)
          向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。

下面举例说明下:
   package zzs.time.calender;

import java.util.Calendar;

public class CalendarDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 采取add ()方法
		Calendar calendar1 = Calendar.getInstance();
		calendar1.set(2011, Calendar.JULY, 6);
		calendar1.add(Calendar.MONTH, 13);
		System.out.println("采取add ()方法后,增加13个月后结果为" + calendar1.getTime()); 

		// 采取roll()方法
		Calendar calendar2 = Calendar.getInstance();
		calendar2.set(2011, Calendar.JULY, 6);
		calendar2.roll(Calendar.MONTH, 13);
		System.out.println("采取roll()方法后,增加13个月后结果为" + calendar2.getTime());

	}

}


运行结果:
采取add ()方法后,增加13个月后结果为Mon Aug 06 22:39:47 GMT+08:00 2012
采取roll()方法后,增加13个月后结果为Sat Aug 06 22:39:47 GMT+08:00 2011

  从roll单词的意思,有滚动的意思,它在它所设置的日期字段进行滚动增加或减少,不改变更大的字段。而add()方法影响大的字段,可以理解过像数学里加法的进位或借位。


0
4
分享到:
评论
1 楼 linfeng0169 2015-02-04  
写的不错~!不过就是解释的不算好!

相关推荐

    日历calendar详细代码

    在Java编程语言中,`Calendar`类是用于处理日期和时间的核心类,它是一个抽象类,提供了各种日期和时间操作的方法。在这个“日历calendar详细代码”中,我们很可能会看到如何使用`Calendar`类来创建、修改和查询日期...

    java中Calendar类用法实例详解

    Calendar 类提供了 roll 和 add 方法来进行日期和时间的计算,例如: cal.roll(Calendar.MONTH, 3); // 把月份增加 3 cal.add(Calendar.YEAR, -1); // 把年份减少 1 总结: 1. 关于 roll 的计算,cal.roll...

    Java Calendar日历类原理及使用方法

    Java Calendar日历类原理及使用方法 Java Calendar日历类是Java语言中的一种日历类,用于处理日期和时间相关的操作。该类提供了许多有用的方法来获取和设置日期和时间的信息。 日历类原理 Java Calendar日历类是...

    Java Calendar类的详解及使用实例

    Calendar类还提供了一些有用的方法,例如get、set、add、roll等,这些方法可以对日历字段进行操作和修改。例如,get方法可以获得当前日期的某个字段的值,set方法可以设置当前日期的某个字段的值,add方法可以将...

    应用源码之Calendar.zip

    3. **日期计算**:Calendar类提供了roll()方法,用于在保持其他字段不变的情况下,向前或向后滚动一个时间单位。例如,可以在保持年份不变的情况下,让月份加一。 4. **时间区域**:Calendar类关联了一个TimeZone...

    Java实现按年月打印日历功能【基于Calendar】

    * 日期计算:使用Calendar类的add()和roll()方法来进行日期的加减运算。 实现按年月打印日历功能 下面是一个Java实现按年月打印日历功能的示例代码: ```java public class CalendarBook { public static void ...

    roll的近义词,roll的英文是什么.doc

    【标题】和【描述】提及的是“roll”的近义词及其英文翻译,而【部分内容】则涉及了冷轧钢铁行业中的专业词汇以及编程中的`add()`和`roll()`方法的区别。 在冷轧钢铁行业中,"roll"这个词通常指的是轧机中的滚轮,...

    calendar 日期推算

    在Java编程语言中,`Calendar`类是处理日期和时间的核心类之一,它提供了一种灵活的方法来操作日期。`Calendar`类不仅能够处理日期,还可以处理时间,甚至包括具体的时区信息。在这个主题中,我们将深入探讨如何使用...

    Java Calendar类的时间操作

    在Java编程语言中,`Calendar`类是用于管理和操作日期和时间的核心类之一。这个类提供了丰富的功能,包括但不限于创建日历、...不过,在处理复杂的日期时间需求或与旧代码库兼容时,`Calendar`类仍然是一个重要的工具。

    Java Calendar类的使用总结实例

    * Calendar类的常用方法(get、set、add、roll等) * Calendar类在实际应用中的使用场景 Java Calendar类是Java中用于处理日期和时间的重要类,它提供了许多实用的方法来操作日期和时间。通过了解Calendar类的使用...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    此外,`GregorianCalendar`还提供了添加和减去日期字段的方法,如`add`和`roll`。如果你想获取下一个月的日期,可以这样操作: ```java calendar.add(Calendar.MONTH, 1); // 添加1个月 ``` 在`Exercise6_6.java`...

    基于Java的Calendar万年历.zip

    它是一个抽象类,不能直接实例化,而是通过`Calendar.getInstance()`方法获取其子类的实例,通常是`GregorianCalendar`,它是公历的实现。 以下是关于Java `Calendar`类的一些关键知识点: 1. **实例化**:如前所...

    java源码:Calendar万年历.zip

    `Calendar`是Java日期和时间API的核心类,提供了与日期和时间相关的各种操作。它不仅支持公历(格里高利历),还可以根据需要支持其他日历系统。`Calendar`对象包含多个字段,如年、月、日、小时、分钟等,这些字段...

    Java实验四Java实验四.doc

    本实验的主要目的是掌握Java中字符串、时间与数字类的常用方法。实验内容包括String类的常用方法、Date类以及Calendar类的常用方法、BigInteger类的常用方法等。 String类的常用方法 String类是Java中最基本的字符...

    日期类的加减及java中所以日期类的操作算法大全

    在处理日期的增减时,`Calendar`类提供了两种方法:`add()`和`roll()`。 #### 1. 使用`add()`方法 `add()`方法用于增加或减少日期的某个组件(如天数、月份、年份等)。例如,减少4天: ```java Calendar cal = ...

    java 日期算法

    日期类的 `add()` 和 `roll()` 方法是指对日期类进行加减操作。`add()` 方法可以将日期类加上或减去指定的时间单位,例如天、小时、分钟等。`roll()` 方法可以将日期类的某个字段加上或减去指定的值,例如将月份加上...

    Java-Date 类的学习总结.pdf

    add() 和 roll() 是 Calendar 类的两个方法,用于添加或回滚日期和时间: (1)add() 方法 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Calendar cal=Calendar.getInstance(); cal.set(Calendar.YEAR,...

    2021-2022年收藏的精品资料软件工程师Java开发中Date的各种相关用法教程.docx

    这篇文档主要讲解了Date在Java开发中的各种用法,包括计算月份最大天数、Calendar与Date之间的转化、日期时间的格式化输出、计算一年中的第几星期以及add()和roll()方法的使用。 1. 计算某一月份的最大天数: 在...

    java中的循环日期.docx

    在 Java 中,add() 和 roll() 方法是 Calendar 类的两个重要方法。add() 方法用于将指定的日历字段增加或减少指定的值,而 roll() 方法用于将指定的日历字段增加或减少指定的值,但不会改变其他日历字段的值。 ```...

    calendar

    让我们深入探讨一下`Calendar`类以及与之相关的知识点。 1. **创建Calendar对象** 在Java中,`Calendar`类是抽象的,不能直接实例化。我们通常通过`Calendar.getInstance()`静态方法获取一个`Calendar`对象,这会...

Global site tag (gtag.js) - Google Analytics