模块 java.base
 java.util

类 Calendar.Builder

java.lang.Object
java.util.Calendar.Builder
封闭类:
Calendar

public static class Calendar.Builder extends Object
Calendar.Builder 用于根据各种日期时间参数创建 Calendar

有两种方法可以将 Calendar 设置为日期时间值。一种是将即时参数设置为与 时代 的毫秒偏移量。另一种是将各个字段参数(例如 YEAR )设置为所需的值。这两种方式不能混用。尝试同时设置即时字段和单独字段将导致抛出 IllegalStateException 。但是,允许覆盖即时或字段参数的先前值。

如果没有足够的字段参数来确定日期和/或时间,则在构建 Calendar 时使用日历特定的默认值。例如,如果没有为公历指定 YEAR 值,则将使用 1970。如果字段参数之间存在任何冲突,则应用决议规则。因此,字段设置的顺序很重要。

除了日期时间参数外,还可以设置 locale时区星期定义宽大模式 参数。

示例

以下是示例用法。示例代码假定 Calendar 常量是静态导入的。

以下代码生成日期为 2012-12-31(公历)的 Calendar,因为星期一是 ISO 8601 兼容周参数 一周的第一天。

  Calendar cal = new Calendar.Builder().setCalendarType("iso8601")
            .setWeekDate(2013, 1, MONDAY).build();

以下代码生成日期为 1989-01-08(公历)的日文 Calendar,假设默认的 ERA 是从那天开始的 Heisei

  Calendar cal = new Calendar.Builder().setCalendarType("japanese")
            .setFields(YEAR, 1, DAY_OF_YEAR, 1).build();
自从:
1.8
参见: