java.lang.Object
java.time.chrono.JapaneseEra
- 所有已实现的接口:
Serializable,Era,TemporalAccessor,TemporalAdjuster
日本皇历系统中的一个纪元。
日本政府定义了每个纪元的正式名称和开始日期。时代是连续的,它们的日期范围不重叠,所以一个时代的结束日期总是在下一个时代开始日期的前一天。
Java SE 平台支持日本政府定义的所有时代,从明治时代开始。每个时代在平台中由一个整数值和一个名称标识。 of(int) 和 valueOf(String) 方法可用于为每个时代获取 JapaneseEra 的单例实例。 values() 方法返回所有支持时代的单例实例。
为方便起见,此类声明了一些引用 values() 方法返回的单例实例的公共静态最终字段。
- API 注意:
-
此类中声明的字段可能会随着时间的推移而演变,与
values()方法的结果一致。但是,字段和单例实例之间不一定是 1:1 的对应关系。日本政府可能会宣布一个新纪元并定义其开始日期,但不会定义其正式名称。在这种情况下,代表新时代的单例实例可能会返回一个不稳定的名称,直到定义正式名称。开发人员在依赖与公共静态最终字段不对应的任何单例实例返回的名称时应谨慎行事。 - 实现要求:
- 这个类是不可变的和线程安全的。
- 自从:
- 1.8
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final JapaneseEra'Heisei' 时代 (1989-01-08 - 2019-04-30) 的单例实例,其值为 2。static final JapaneseEra“明治”时代 (1868-01-01 - 1912-07-29) 的单例实例,值为 -1。static final JapaneseEra“Reiwa”时代 (2019-05-01 - ) 的单例实例,其值为 3。static final JapaneseEra“昭和”时代 (1926-12-25 - 1989-01-07) 的单例实例,其值为 1。static final JapaneseEra“大正”时代 (1912-07-30 - 1926-12-24) 的单例实例,值为 0。 -
方法总结
修饰符和类型方法描述getDisplayName(TextStyle style, Locale locale) 获取这个时代的文本表示。intgetValue()获取数字纪元int值。static JapaneseEraof(int japaneseEra) 从int值获取JapaneseEra的实例。range(TemporalField field) 获取指定字段的有效值范围。static JapaneseEra返回具有名称的JapaneseEra。static JapaneseEra[]values()返回一组 JapaneseEras。在类 java.lang.Object 中声明的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait在接口 java.time.chrono.Era 中声明的方法
adjustInto, get, getLong, isSupported, query
-
字段详细信息
-
MEIJI
“明治”时代 (1868-01-01 - 1912-07-29) 的单例实例,值为 -1。 -
TAISHO
“大正”时代 (1912-07-30 - 1926-12-24) 的单例实例,值为 0。 -
SHOWA
“昭和”时代 (1926-12-25 - 1989-01-07) 的单例实例,其值为 1。 -
HEISEI
'Heisei' 时代 (1989-01-08 - 2019-04-30) 的单例实例,其值为 2。 -
REIWA
“Reiwa”时代 (2019-05-01 - ) 的单例实例,其值为 3。该时代的结束日期未指定,除非日本政府对其进行定义。- 自从:
- 13
-
-
方法详情
-
of
从int值获取JapaneseEra的实例。- 值
1与“昭和”时代相关联,因为它包含 1970-01-01(ISO 日历系统)。 - 值
-1和0分别与两个较早的时代相关联,即明治和大正。 - 大于
1的值与较晚的时代相关联,从平成 (2) 开始。
从
values()方法返回的每个JapaneseEra实例都有一个 int 值(可通过此方法接受的Era.getValue()获得。- 参数:
japaneseEra- 代表的时代- 返回:
JapaneseEra单例,不为空- 抛出:
DateTimeException- 如果值无效
- 值
-
valueOf
- 参数:
japaneseEra- 日本纪元名称;非空- 返回:
JapaneseEra单例,永不为空- 抛出:
IllegalArgumentException- 如果没有具有指定名称的 JapaneseEra
-
values
返回一组 JapaneseEras。该数组可能包含日本政府定义的纪元,超出已知的纪元单例。此方法可用于迭代 JapaneseEras,如下所示:
for (JapaneseEra c : JapaneseEra.values()) System.out.println(c);
- 返回:
- 一组日本纪元
-
getDisplayName
获取这个时代的文本表示。这将返回用于标识时代的文本名称,适合呈现给用户。参数控制返回文本的样式和locale。
如果未找到文本映射,则返回
numeric value。- 指定者:
getDisplayName在接口Era中- 参数:
style- 所需文本的样式,不为空locale- 要使用的locale,不为空- 返回:
- 时代的文本值,不为空
-
getValue
public int getValue() -
range
获取指定字段的有效值范围。范围对象表示字段的最小和最大有效值。这个纪元用于增强返回范围的准确性。如果由于不支持该字段或其他原因而无法返回范围,则会抛出异常。
如果该字段是一个
ChronoField那么查询就在这里实现。ERA字段返回范围。所有其他ChronoField实例将抛出UnsupportedTemporalTypeException。如果该字段不是
ChronoField,则通过调用TemporalField.rangeRefinedBy(TemporalAccessor)传递this作为参数来获得此方法的结果。能否获取范围由字段决定。由于日本日历系统的性质,有效日本纪元的范围可能会随时间变化。
- 指定者:
range在接口Era中- 指定者:
range在接口TemporalAccessor中- 参数:
field- 查询范围的字段,不为空- 返回:
- 该字段的有效值范围,不为空
- 抛出:
DateTimeException- 如果无法获得该字段的范围UnsupportedTemporalTypeException- 如果不支持该单元
-