public interface Era extends TemporalAccessor, TemporalAdjuster
大多数日历系统有一个单一的时代划分的时间线分为两个时代。然而,一些日历系统,有多个时代,如一个为每个领导者的统治。在所有情况下,时代是概念上最大的划分的时间线。每个年代的时代的定义是时代和Chronology.eras
得到有效的时代。
例如,泰国佛教历法系统把时间分为两个时代,在一个单一的日期之前和之后。相比之下,日本历法系统有一个时代为每个皇帝的统治。
Era
实例可以使用==
算子相比。
Modifier and Type | Method and Description |
---|---|
default Temporal |
adjustInto(Temporal temporal)
调整指定的时间对象,以具有相同的时代为这个对象。
|
default int |
get(TemporalField field)
获取指定字段的值,从这个时代作为一个
int 。
|
default String |
getDisplayName(TextStyle style, Locale locale)
获取这个时代的文本表示。
|
default long |
getLong(TemporalField field)
获取指定字段的值,从这个时代的一种
long 。
|
int |
getValue()
获取与所定义的时代相关联的数字值。
|
default boolean |
isSupported(TemporalField field)
检查指定字段是否被支持。
|
default <R> R |
query(TemporalQuery<R> query)
使用指定的查询查询这个时代。
|
default ValueRange |
range(TemporalField field)
获取指定字段的有效值的范围。
|
int getValue()
所有字段,包括时代,都有一个相关的数字值。时代的数字价值的含义是根据这些原则的时间顺序来确定的:
default boolean isSupported(TemporalField field)
此检查,如果这个时代可以查询指定的字段。如果为false,则调用range
和get
方法将抛出一个异常。
如果该字段是ChronoField
然后查询执行。的ERA
场返回true。所有其他ChronoField
实例将返回false。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.isSupportedBy(TemporalAccessor)
得到此方法的结果。是否支持字段由字段确定。
isSupported
接口
TemporalAccessor
field
-现场检查null返回false
default ValueRange range(TemporalField field)
该范围对象表示字段的最小值和最大有效值。这个时代是用来提高返回范围的准确性。如果它是不可能返回的范围,因为字段不支持或其他一些原因,抛出一个异常。
如果该字段是ChronoField
然后查询执行。的ERA
退货范围。所有其他ChronoField
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.rangeRefinedBy(TemporalAccessor)
得到此方法的结果。是否可以得到范围是由字段确定的。
默认的实现必须返回从零到一个范围ERA
,适合两历系统如ISO。
range
接口
TemporalAccessor
field
-现场查询范围,不为空
DateTimeException
如果不能得到的领域范围
UnsupportedTemporalTypeException
如果单位不支持
default int get(TemporalField field)
int
。
这个查询这个时代为指定字段的值。返回的值将始终在字段的有效值范围内。如果不可能返回值,因为字段不支持或其他原因,则抛出异常。
如果该字段是ChronoField
然后查询执行。的ERA
字段返回的时代价值。所有其他ChronoField
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.getFrom(TemporalAccessor)
得到此方法的结果。是否可以得到值,以及值表示的值,由字段确定。
get
接口
TemporalAccessor
field
-领域有,不空
DateTimeException
如果字段的值是不能获得或值不在字段的有效值范围内
UnsupportedTemporalTypeException
-如果字段不支持或值的范围超过一个
int
ArithmeticException
如果数值溢出时
default long getLong(TemporalField field)
long
。
这个查询这个时代为指定字段的值。如果不可能返回值,因为字段不支持或其他原因,则抛出异常。
如果该字段是ChronoField
然后查询执行。的ERA
字段返回的时代价值。所有其他ChronoField
实例将抛出一个UnsupportedTemporalTypeException
。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.getFrom(TemporalAccessor)
得到此方法的结果。是否可以得到值,以及值表示的值,由字段确定。
getLong
接口
TemporalAccessor
field
-领域有,不空
DateTimeException
如果不能得到一个价值领域
UnsupportedTemporalTypeException
如果字段不支持
ArithmeticException
如果数值溢出时
default <R> R query(TemporalQuery<R> query)
这将使用指定的查询策略对象查询这个时代。的TemporalQuery
对象定义了用来获得结果的逻辑。阅读查询的文档,了解该方法的结果将是什么。
这种方法的结果是通过调用指定的查询通过this
作为论据的TemporalQuery.queryFrom(TemporalAccessor)
方法得到的。
query
接口
TemporalAccessor
R
-结果的类型
query
-调用查询,不空
DateTimeException
如果无法查询(查询所定义)
ArithmeticException
如果数值溢出时(由查询定义)
default Temporal adjustInto(Temporal temporal)
这将返回一个相同的可观察类型的时间对象,随着时代的变化,这是相同的。
调整是相当于用Temporal.with(TemporalField, long)
传递ChronoField.ERA
作为现场。
在大多数情况下,更清晰的用Temporal.with(TemporalAdjuster)
反向调用模式:
这两条线是等价的,但第二种方法是建议时间=时代adjustinto(时间);时间=时间,(时代);
此实例是不可变的,不受此方法调用的影响。
adjustInto
接口
TemporalAdjuster
temporal
-调整目标对象,不为空
DateTimeException
如果无法适应
ArithmeticException
如果数值溢出时
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.