Module java.base
Package java.util

Class 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年。如果字段参数之间存在冲突,则将应用 解析规则。因此,字段设置的顺序很重要。

除了日期时间参数外,还可以设置 区域设置时区周定义宽松模式 参数。

示例

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

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

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

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

   Calendar cal = new Calendar.Builder().setCalendarType("japanese")
                        .setFields(YEAR, 1, DAY_OF_YEAR, 1).build();
自 JDK 版本:
1.8
参见:
  • Constructor Details

    • Builder

      public Builder()
      构造一个 Calendar.Builder
  • Method Details