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