public interface Era extends TemporalAccessor, TemporalAdjuster
ほとんどの暦体系には、時系列を2つの紀元に分割する1つのエポックがあります。ただし、一部の暦体系には各指導者の統治期間ごとに1つなど、複数の紀元があります。すべての場合に、紀元は概念上、時系列の最大の区分です。各暦は有効な紀元を取得するためのErasおよびChronology.eras
と呼ばれる紀元を定義します。
たとえば、タイ仏暦体系では、時間をある1つの日付の前後で2つの紀元に分割しています。それに対して、和暦体系では、各天皇の在位期間ごとに1つずつの紀元があります。
Era
のインスタンスは==
演算子を使用して比較できます。
修飾子と型 | メソッドと説明 |
---|---|
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)
を呼び出すことによって取得します。フィールドがサポートされているかどうかはフィールドによって決定します。
TemporalAccessor
のisSupported
field
- チェックするフィールド、nullはfalseを返すdefault ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。この紀元は、返される範囲の精度を向上するために使われます。範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoField
の場合、ここに問合せを実装します。ERA
フィールドは範囲を返します。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。範囲を取得できるかどうかはフィールドによって決まります。
デフォルトの実装は、ISOなどの2つの紀元の暦体系に適した、ゼロから1のERA
の範囲を返す必要があります。
TemporalAccessor
のrange
field
- 範囲を問い合わせるフィールド、null以外DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合default int get(TemporalField field)
int
として取得します。
これは、この紀元の指定されたフィールドの値を問い合わせます。返される値は常にフィールドの値の有効な範囲内になります。値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoField
の場合、ここに問合せを実装します。ERA
フィールドは紀元の値を返します。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessor
のget
field
- 取得するフィールド、null以外DateTimeException
- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合、または値の範囲がint
を超えている場合ArithmeticException
- 数値のオーバーフローが発生した場合default long getLong(TemporalField field)
long
として取得します。
これは、この紀元の指定されたフィールドの値を問い合わせます。値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoField
の場合、ここに問合せを実装します。ERA
フィールドは紀元の値を返します。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessor
のgetLong
field
- 取得するフィールド、null以外DateTimeException
- フィールドの値を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合default <R> R query(TemporalQuery<R> query)
これは指定された問合せ方法オブジェクトを使用して、この紀元を問い合わせます。TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。このメソッドの結果を理解するには、問合せのドキュメントをお読みください。
このメソッドの結果は、this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。
TemporalAccessor
のquery
R
- 結果の型query
- 呼び出す問合せ、null以外DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)default Temporal adjustInto(Temporal temporal)
これは、紀元をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
調整は、ChronoField.ERA
をフィールドとして渡してTemporal.with(TemporalField, long)
を使用する場合と同等です。
ほとんどのケースで、Temporal.with(TemporalAdjuster)
を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended temporal = thisEra.adjustInto(temporal); temporal = temporal.with(thisEra);
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAdjuster
のadjustInto
temporal
- 調整するターゲット・オブジェクト、null以外DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合default String getDisplayName(TextStyle style, Locale locale)
これは、紀元の識別に使用され、ユーザーへの表示に適したテキストの名前を返します。パラメータは返されるテキストとロケールのスタイルを制御します。
テキスト・マッピングが見つからない場合、数値
が返されます。
このデフォルト実装はすべての実装に適しています。
style
- 必要なテキストのスタイル、null以外locale
- 使用するロケール。null以外 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.