Java.util.GregorianCalendar 类

java.util.GregorianCalendar.roll()方法用于在不改变的情况下向指定的日历字段添加有符号的金额更大的领域。负滚动量意味着从场中减去而不改变更大的场。如果指定的金额为 0,则此方法不执行任何操作。

示例:考虑最初设置为 1999 年 11 月 30 日的 GregorianCalendar。调用 roll(Calendar.MONTH, 2) 将日历设置为 1999 年 1 月 30 日。 YEAR 字段保持不变,因为它比 MONTH 更大。

语法

public void roll(int field, int amount)

参数

字段 指定时间字段。
金额 指定要添加的签名金额字段。

返回值

void类型。

异常

抛出IllegalArgumentException,如果字段为 ZONE_OFFSET、DST_OFFSET 或未知,或者任何日历字段在非宽松模式下具有超出范围的值。

示例:

在下面的示例中,java.util.GregorianCalendar.roll()方法用于在 GregorianCalendar 对象的给定时间字段上添加指定的时间单位。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建指定日期的Calendar对象
    GregorianCalendar Cal = new GregorianCalendar(2015, 10, 30);

    //打印日历
    System.out.println("The Calendar is: " + Cal.getTime());

    //将月份向上滚动 2
    Cal.roll(GregorianCalendar.MONTH, 2);

    //打印日历
    System.out.println("Modified Calendar is: " + Cal.getTime());    
  }
}

上述代码的输出将是:

The Calendar is: Mon Nov 30 00:00:00 UTC 2015
Modified Calendar is: Fri Jan 30 00:00:00 UTC 2015