- すべての実装されたインタフェース:
Serializable
,Comparable<Year>
,Temporal
,TemporalAccessor
,TemporalAdjuster
public final class Year extends Object implements Temporal, TemporalAdjuster, Comparable<Year>, Serializable
2007
など)。
Year
は、年を表す不変の日付/時間オブジェクトです。 年から生成できるすべてのフィールドを取得できます。
ISO暦における年は、現代のグレゴリオ/ユリウス暦体系における年にしか適合しないことに注意してください。 ロシアの一部では、1920年まで現代のグレゴリオ/ISOのルールに切換えていませんでした。 このため、歴史的な年の取り扱いには注意が必要です。
このクラスでは、月、日、時間、またはタイムゾーンを格納したり表現したりしません。 たとえば、「2007」という値をYear
に格納できます。
このクラスで表される年はISO-8601標準に準拠し、先発番号付け方式を採用しています。 1年の前に0年があり、0年の前に-1年があります。
ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。 これは、現在のうるう年のルールがすべての時間に適用される、先発グレゴリオ暦体系と同等です。 今日作成されているほとんどのアプリケーションには、ISO-8601のルールが完全に適しています。 ただし、歴史的な日付を使用し、それらが正確であることを必要とするアプリケーションには、ISO-8601の方法が適さないことがわかります。
これは値ベースのクラスです。Year
のインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==
)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。 比較する場合は、equals
メソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型 メソッド 説明 Temporal
adjustInto(Temporal temporal)
指定された時間的オブジェクトをこの年になるように調整します。LocalDate
atDay(int dayOfYear)
この年を「年の日」と組み合せてLocalDate
を作成します。YearMonth
atMonth(int month)
この年を月と組み合せてYearMonth
を作成します。YearMonth
atMonth(Month month)
この年を月と組み合せてYearMonth
を作成します。LocalDate
atMonthDay(MonthDay monthDay)
この年を月-日と組み合せてLocalDate
を作成します。int
compareTo(Year other)
この年をもう一方の年と比較します。boolean
equals(Object obj)
この年がもう一方の年と等しいかどうかを確認します。String
format(DateTimeFormatter formatter)
指定されたフォーマッタを使用してこの年を書式設定します。static Year
from(TemporalAccessor temporal)
時間的オブジェクトからYear
のインスタンスを取得します。int
get(TemporalField field)
この年から指定されたフィールドの値をint
として取得します。long
getLong(TemporalField field)
この年から指定されたフィールドの値をlong
として取得します。int
getValue()
年の値を取得します。int
hashCode()
この年のハッシュ・コードです。boolean
isAfter(Year other)
この年が、指定された年より後にあるかどうかをチェックします。boolean
isBefore(Year other)
この年が、指定された年より前にあるかどうかをチェックします。boolean
isLeap()
ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。static boolean
isLeap(long year)
ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。boolean
isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。boolean
isSupported(TemporalUnit unit)
指定された単位がサポートされているかどうかをチェックします。boolean
isValidMonthDay(MonthDay monthDay)
月-日がこの年に対して有効であるかどうかを確認します。int
length()
この年の長さを日数で取得します。Year
minus(long amountToSubtract, TemporalUnit unit)
指定された量を減算して、この年のコピーを返します。Year
minus(TemporalAmount amountToSubtract)
指定された量を減算して、この年のコピーを返します。Year
minusYears(long yearsToSubtract)
指定された年数を減算して、このYear
のコピーを返します。static Year
now()
デフォルトのタイムゾーンのシステム・クロックから現在の年を取得します。static Year
now(Clock clock)
指定されたクロックから現在の年を取得します。static Year
now(ZoneId zone)
指定されたタイムゾーンのシステム・クロックから現在の年を取得します。static Year
of(int isoYear)
Year
のインスタンスを取得します。static Year
parse(CharSequence text)
2007
などのテキスト文字列からYear
のインスタンスを取得します。static Year
parse(CharSequence text, DateTimeFormatter formatter)
特定のフォーマッタを使用して、テキスト文字列からYear
のインスタンスを取得します。Year
plus(long amountToAdd, TemporalUnit unit)
指定された量を加算して、この年のコピーを返します。Year
plus(TemporalAmount amountToAdd)
指定された量を加算して、この年のコピーを返します。Year
plusYears(long yearsToAdd)
指定された年数を加算して、このYear
のコピーを返します。<R> R
query(TemporalQuery<R> query)
指定された問合せを使用してこの年を問い合せます。ValueRange
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。String
toString()
この年をString
として出力します。long
until(Temporal endExclusive, TemporalUnit unit)
別の年までの時間量を指定された単位で計算します。Year
with(TemporalAdjuster adjuster)
この年の調整済のコピーを返します。Year
with(TemporalField field, long newValue)
指定されたフィールドを新しい値に設定して、この年のコピーを返します。
-
フィールド詳細
-
メソッドの詳細
-
now
public static Year now()デフォルトのタイムゾーンのシステム・クロックから現在の年を取得します。これは、デフォルトのタイムゾーンの
システム・クロック
を問い合わせて、現在の年を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 戻り値:
- システム・クロックとデフォルトのタイムゾーンを使用した現在の年。null以外
-
now
指定されたタイムゾーンのシステム・クロックから現在の年を取得します。これは、
システム・クロック
を問い合わせて現在の年を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- パラメータ:
zone
- 使用するゾーンID、null以外- 戻り値:
- システム・クロックを使用した現在の年。null以外
-
now
指定されたクロックから現在の年を取得します。これは、指定されたクロックを問い合わせて現在の年を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは
dependency injection
を使用して導入できます。- パラメータ:
clock
- 使用するクロック、null以外- 戻り値:
- 現在の年。null以外
-
of
public static Year of(int isoYear)Year
のインスタンスを取得します。このメソッドは、先発ISO暦体系から年の値を受け入れます。
2AD/CE年は2で表されます。
1AD/CE年は1で表されます。
1BC/BCE年は0で表されます。
2BC/BCE年は-1で表されます。
- パラメータ:
isoYear
- 表されるISO先発年(MIN_VALUE
からMAX_VALUE
まで)- 戻り値:
- 年。null以外
- 例外:
DateTimeException
- そのフィールドが無効である場合
-
from
public static Year from(TemporalAccessor temporal)時間的オブジェクトからYear
のインスタンスを取得します。これは、指定された時間的オブジェクトに基づいて年を取得します。
TemporalAccessor
は任意の日付と時間のセットに関する情報を表し、それがこのファクトリでYear
のインスタンスに変換されます。この変換では、
year
フィールドを抽出します。 この抽出が許可されるのは、時間的オブジェクトにISOの暦が含まれているか、そのオブジェクトをLocalDate
に変換できる場合にかぎられます。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照Year::from
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- 年。null以外
- 例外:
DateTimeException
-Year
に変換できない場合
-
parse
public static Year parse(CharSequence text)2007
などのテキスト文字列からYear
のインスタンスを取得します。この文字列は有効な年を表している必要があります。 0000-9999の範囲外にある年の前には、プラスまたはマイナス記号を付ける必要があります。
- パラメータ:
text
- 「2007」などの解析対象のテキスト。null以外- 戻り値:
- 解析された年。null以外
- 例外:
DateTimeParseException
- テキストが解析できない場合
-
parse
public static Year parse(CharSequence text, DateTimeFormatter formatter)特定のフォーマッタを使用して、テキスト文字列からYear
のインスタンスを取得します。そのテキストがフォーマッタを使って解析され、年が返されます。
- パラメータ:
text
- 解析するテキスト。null以外formatter
- 使用するフォーマッタ、null以外- 戻り値:
- 解析された年。null以外
- 例外:
DateTimeParseException
- テキストが解析できない場合
-
isLeap
public static boolean isLeap(long year)ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。
たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。
計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。
- パラメータ:
year
- チェック対象の年- 戻り値:
- 年がうるう年の場合はtrue、それ以外の場合はfalse
-
getValue
public int getValue()年の値を取得します。このメソッドで返される年は、
get(YEAR)
のように予期的なものです。- 戻り値:
- 年(
MIN_VALUE
からMAX_VALUE
まで)
-
isSupported
public boolean isSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドをこの年に問い合わせることができるかどうかを確認します。 falseの場合、
range
、get
、およびwith(TemporalField, long)
メソッドの呼び出しは、例外をスローします。フィールドが
ChronoField
の場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。YEAR_OF_ERA
YEAR
ERA
ChronoField
インスタンスはfalseを返します。フィールドが
ChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
TemporalAccessor
のisSupported
- パラメータ:
field
- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの年でサポートされている場合はtrue、サポートされていない場合はfalse
-
isSupported
public boolean isSupported(TemporalUnit unit)指定された単位がサポートされているかどうかをチェックします。これは、指定された単位をこの年に対して加算または減算できるかどうかをチェックします。 falseの場合、
plus(long, TemporalUnit)
およびminus
メソッドの呼び出しは、例外をスローします。単位が
ChronoUnit
の場合、問合せはここで実装されます。 サポートされる単位は次のとおりです。YEARS
DECADES
CENTURIES
MILLENNIA
ERAS
ChronoUnit
インスタンスはfalseを返します。単位が
ChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.isSupportedBy(Temporal)
を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。- 定義:
- インタフェース
Temporal
のisSupported
- パラメータ:
unit
- チェックする単位、nullはfalseを返す- 戻り値:
- 単位を加算/減算できる場合はtrue、できない場合はfalse
-
range
public ValueRange range(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この年は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoField
の場合、ここに問合せを実装します。サポートされるフィールド
は適切な範囲のインスタンスを返します。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のrange
- パラメータ:
field
- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- 例外:
DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合
-
get
public int get(TemporalField field)この年から指定されたフィールドの値をint
として取得します。これは、指定されたフィールドの値についてこの年に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoField
の場合、ここに問合せを実装します。サポートされているフィールド
は、この年に基づいて有効な値を返します。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のget
- パラメータ:
field
- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException
- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合、または値の範囲がint
を超えている場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
getLong
public long getLong(TemporalField field)この年から指定されたフィールドの値をlong
として取得します。これは、指定されたフィールドの値についてこの年に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoField
の場合、ここに問合せを実装します。サポートされているフィールド
は、この年に基づいて有効な値を返します。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のgetLong
- パラメータ:
field
- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException
- フィールドの値を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
isLeap
public boolean isLeap()ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。
たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。
計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。
- 戻り値:
- 年がうるう年の場合はtrue、それ以外の場合はfalse
-
isValidMonthDay
public boolean isValidMonthDay(MonthDay monthDay)月-日がこの年に対して有効であるかどうかを確認します。このメソッドは、この年、および入力された月と日から有効な日付が形成されるかどうかを確認します。
- パラメータ:
monthDay
- 検証対象の月-日。nullはfalseを返す- 戻り値:
- その月と日がこの年に対して有効である場合はtrue
-
length
public int length()この年の長さを日数で取得します。- 戻り値:
- この年の長さ(日数)。365または366
-
with
public Year with(TemporalAdjuster adjuster)この年の調整済のコピーを返します。これは、年を調整して、この年に基づく
Year
を返します。 調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。 どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。このメソッドの結果は、指定されたアジャスタで
this
を引数として渡してTemporalAdjuster.adjustInto(Temporal)
メソッドを呼び出すことによって取得されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のwith
- パラメータ:
adjuster
- 使用するアジャスタ、null以外- 戻り値:
- 調整が行われた、
これ
に基づくYear
。null以外 - 例外:
DateTimeException
- 調整ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
with
public Year with(TemporalField field, long newValue)指定されたフィールドを新しい値に設定して、この年のコピーを返します。これは、指定されたフィールドの値を変更して、この年に基づく
Year
を返します。 値を設定できない場合は、フィールドがサポートされていないか他の理由のために、例外がスローされます。フィールドが
ChronoField
の場合は、調整はここで実装されます。 サポートされるフィールドは次のように動作します。YEAR_OF_ERA
- 指定された紀元年を含むYear
を返します。その紀元は変更されません。YEAR
- 指定された年を含むYear
を返します。 これは日付を完全に置き換えるもので、of(int)
と同等です。ERA
- 指定された紀元を含むYear
を返します。 紀元年は変更されません。
いずれの場合も、新しい値がフィールドの値の有効範囲外にあると
DateTimeException
がスローされます。他のすべての
ChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、this
を引数として渡してTemporalField.adjustInto(Temporal, long)
を呼び出すことによって取得されます。 この場合、インスタントを調整するかどうかおよびどのように調整するかはフィールドによって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のwith
- パラメータ:
field
- 結果に設定するフィールド、null以外newValue
- 結果のフィールドの新しい値- 戻り値:
- 指定されたフィールドが設定された、
これ
に基づくYear
。null以外 - 例外:
DateTimeException
- フィールドを設定できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plus
public Year plus(TemporalAmount amountToAdd)指定された量を加算して、この年のコピーを返します。これは、指定された量を加算して、この年に基づく
Year
を返します。 この量は通常Period
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.addTo(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)
にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のplus
- パラメータ:
amountToAdd
- 加算する量、nullでない- 戻り値:
- 加算が行われた、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 加算できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plus
public Year plus(long amountToAdd, TemporalUnit unit)指定された量を加算して、この年のコピーを返します。これは、その単位での量を加算して、この年に基づく
Year
を返します。 量を加算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。フィールドが
ChronoUnit
の場合は、加算はここで実装されます。 サポートされるフィールドは次のように動作します。YEARS
- 指定された年数を加算してYear
を返します。 これはplusYears(long)
と同等です。DECADES
- 指定された数の10年を加算してYear
を返します。 これは、量を10倍にしてplusYears(long)
を呼び出すことと同等です。CENTURIES
- 指定された数の100年を加算してYear
を返します。 これは、量を100倍にしてplusYears(long)
を呼び出すことと同等です。MILLENNIA
- 指定された数の1000年を加算してYear
を返します。 これは、量を1,000倍にしてplusYears(long)
を呼び出すことと同等です。ERAS
- 指定された紀元数を加算してYear
を返します。 サポートされている紀元は2つのみなので、この量は1、0、または-1にする必要があります。 量が0以外である場合は、紀元年が変わらないように、その年が変更されます。
他のすべての
ChronoUnit
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.addTo(Temporal, long)
を呼び出すことによって取得されます。 この場合、加算を実行するかどうかおよびどのように実行するかは単位によって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のplus
- パラメータ:
amountToAdd
- 結果に加算する単位の量、負も可unit
- 加算する量の単位、nullでない- 戻り値:
- 指定された量が加算された、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 加算できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusYears
public Year plusYears(long yearsToAdd)指定された年数を加算して、このYear
のコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
yearsToAdd
- 加算する年数。負の値の場合もある- 戻り値:
- その年が加算された、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 結果がサポートされている範囲を超える場合
-
minus
public Year minus(TemporalAmount amountToSubtract)指定された量を減算して、この年のコピーを返します。これは、指定された量を減算して、この年に基づく
Year
を返します。 この量は通常Period
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.subtractFrom(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)
にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のminus
- パラメータ:
amountToSubtract
- 減算する量、nullでない- 戻り値:
- 減算が行われた、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 減算ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
minus
public Year minus(long amountToSubtract, TemporalUnit unit)指定された量を減算して、この年のコピーを返します。これは、その単位での量を減算して、この年に基づく
Year
を返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。このメソッドは、量を符号反転した
plus(long, TemporalUnit)
と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のminus
- パラメータ:
amountToSubtract
- 結果から減算する単位の量、負も可unit
- 減算する量の単位、nullでない- 戻り値:
- 指定された量が減算された、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 減算ができない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusYears
public Year minusYears(long yearsToSubtract)指定された年数を減算して、このYear
のコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
yearsToSubtract
- 減算する年数。負の値の場合もある- 戻り値:
- その年が減算された、この年に基づく
Year
。null以外 - 例外:
DateTimeException
- 結果がサポートされている範囲を超える場合
-
query
public <R> R query(TemporalQuery<R> query)指定された問合せを使用してこの年を問い合せます。これは、指定された問合せ方針オブジェクトを使用してこの年を問い合わせます。
TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。このメソッドの結果は、
this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。- 定義:
- インタフェース
TemporalAccessor
のquery
- 型パラメータ:
R
- 結果の型- パラメータ:
query
- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- 例外:
DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
adjustInto
指定された時間的オブジェクトをこの年になるように調整します。これは、年をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、
ChronoField.YEAR
をフィールドとして渡してTemporal.with(TemporalField, long)
を使用することと同等です。 指定された時間的オブジェクトがISOの暦体系を使用しない場合は、DateTimeException
がスローされます。ほとんどのケースで、
Temporal.with(TemporalAdjuster)
を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended temporal = thisYear.adjustInto(temporal); temporal = temporal.with(thisYear);
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAdjuster
のadjustInto
- パラメータ:
temporal
- 調整するターゲット・オブジェクト、null以外- 戻り値:
- 調整されるオブジェクト、null以外
- 例外:
DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
until
public long until(Temporal endExclusive, TemporalUnit unit)別の年までの時間量を指定された単位で計算します。これは、1つの
TemporalUnit
を単位として、2つのYear
オブジェクト間の時間量を計算します。 始点と終点は、これ
と指定された年です。 終了が開始より前である場合、結果は負になります。 このメソッドに渡されたTemporal
は、from(TemporalAccessor)
を使用してYear
に変換されます。 たとえば、2つの年の間の10年単位の期間は、startYear.until(endYear, DECADES)
を使用して計算できます。この計算では、2つの年の間の完全な単位の数を表す整数を返します。 たとえば、2012から2031までの10年単位の期間は、20年には1年足りないため、10年のみとなります。
このメソッドを使用する等価な方法が2つあります。 1つ目はこのメソッドを呼び出すことです。 2つ目は
TemporalUnit.between(Temporal, Temporal)
を使用することです。// these two lines are equivalent amount = start.until(end, YEARS); amount = YEARS.between(start, end);
この選択は、コードが読みやすくなるのはどちらかに基づいて行ってください。計算は
ChronoUnit
のこのメソッドに実装します。 サポートされている単位は、YEARS
、DECADES
、CENTURIES
、MILLENNIA
、およびERAS
です。 その他のChronoUnit
値は例外をスローします。単位が
ChronoUnit
でない場合、このメソッドの結果は、this
を1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)
を呼び出すことによって取得します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のuntil
- パラメータ:
endExclusive
-Year
に変換される終了日付(これを含まない)。null以外unit
- 量を測定する単位、null以外- 戻り値:
- この年から終了の年までの時間量
- 例外:
DateTimeException
- その量を計算できないか、終了時間をYear
に変換できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
format
public String format(DateTimeFormatter formatter)指定されたフォーマッタを使用してこの年を書式設定します。この年がフォーマッタに渡されて、文字列が生成されます。
- パラメータ:
formatter
- 使用するフォーマッタ、null以外- 戻り値:
- 書式設定された年の文字列。null以外
- 例外:
DateTimeException
- 出力時にエラーが発生した場合
-
atDay
public LocalDate atDay(int dayOfYear)この年を「年の日」と組み合せてLocalDate
を作成します。これは、この年および指定された「年の日」から形成された
LocalDate
を返します。366という「年の日」の値は、うるう年にのみ有効です。
- パラメータ:
dayOfYear
- 使用する「年の日」。1から365-366- 戻り値:
- この年および指定された「年の日」から形成されたローカル日付。null以外
- 例外:
DateTimeException
- 「年の日」がゼロ以下であるか、366以上であるか、366に等しいがうるう年でない場合
-
atMonth
この年を月と組み合せてYearMonth
を作成します。これは、この年および指定された月から形成された
YearMonth
を返します。 年と月の考えられるすべての組合せが有効です。このメソッドは、日付を生成するためのチェーンの一部として使用できます。
LocalDate date = year.atMonth(month).atDay(day);
- パラメータ:
month
- 使用する月。null以外- 戻り値:
- この年および指定された月から形成された年-月。null以外
-
atMonth
public YearMonth atMonth(int month)この年を月と組み合せてYearMonth
を作成します。これは、この年および指定された月から形成された
YearMonth
を返します。 年と月の考えられるすべての組合せが有効です。このメソッドは、日付を生成するためのチェーンの一部として使用できます。
LocalDate date = year.atMonth(month).atDay(day);
- パラメータ:
month
- 使用する月。1(1月)-12(12月)- 戻り値:
- この年および指定された月から形成された年-月。null以外
- 例外:
DateTimeException
- その月が無効である場合
-
atMonthDay
この年を月-日と組み合せてLocalDate
を作成します。これは、この年および指定された月-日から形成された
LocalDate
を返します。2月29日という月-日は、その年がうるう年でなければ、結果となる日付で2月28日に調整されます。
- パラメータ:
monthDay
- 使用する月-日。null以外- 戻り値:
- この年および指定された月-日から形成されたローカル日付。null以外
-
compareTo
public int compareTo(Year other)この年をもう一方の年と比較します。この比較は、年の値に基づいています。
Comparable
に定義されているとおりに、「equalsと一致」しています。- 定義:
compareTo
、インタフェース:Comparable<Year>
- パラメータ:
other
- 比較対象のもう一方の年。null以外- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
-
isAfter
public boolean isAfter(Year other)この年が、指定された年より後にあるかどうかをチェックします。- パラメータ:
other
- 比較対象のもう一方の年。null以外- 戻り値:
- これが指定された年より後にある場合はtrue
-
isBefore
public boolean isBefore(Year other)この年が、指定された年より前にあるかどうかをチェックします。- パラメータ:
other
- 比較対象のもう一方の年。null以外- 戻り値:
- この時点が指定された年より前にある場合はtrue
-
equals
public boolean equals(Object obj)この年がもう一方の年と等しいかどうかを確認します。この比較は、それらの年の時系列上の位置に基づいています。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これがもう一方の年と等しい場合はtrue
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()この年のハッシュ・コードです。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()この年をString
として出力します。
-