Java.util.GregorianCalendar 类

java.util.GregorianCalendar.roll() 方法用于添加或减去(上/下)单个单位给定时间字段上的时间,而不更改更大的字段。

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

语法

public void roll(int field, boolean up)

参数

字段 指定时间字段。
up 表示指定的值是否日历字段要向上滚动或向下滚动。如果向上滚动,则使用 true,否则使用 false。

返回值

void 类型。

异常

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

示例:

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

import java.util.*;

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

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

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

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

上述代码的输出将是:

The Calendar is: Fri Dec 25 00:00:00 UTC 2015
Modified Calendar is: Sun Jan 25 00:00:00 UTC 2015