- すべての実装されたインタフェース:
- 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
- 関連項目:
- 直列化された形式
- 
フィールドのサマリー
- 
メソッドのサマリー修飾子と型 メソッド 説明 TemporaladjustInto(Temporal temporal)指定された時間的オブジェクトをこの年になるように調整します。LocalDateatDay(int dayOfYear)この年を「年の日」と組み合せてLocalDateを作成します。YearMonthatMonth(int month)この年を月と組み合せてYearMonthを作成します。YearMonthatMonth(Month month)この年を月と組み合せてYearMonthを作成します。LocalDateatMonthDay(MonthDay monthDay)この年を月-日と組み合せてLocalDateを作成します。intcompareTo(Year other)この年をもう一方の年と比較します。booleanequals(Object obj)この年がもう一方の年と等しいかどうかを確認します。Stringformat(DateTimeFormatter formatter)指定されたフォーマッタを使用してこの年を書式設定します。static Yearfrom(TemporalAccessor temporal)時間的オブジェクトからYearのインスタンスを取得します。intget(TemporalField field)この年から指定されたフィールドの値をintとして取得します。longgetLong(TemporalField field)この年から指定されたフィールドの値をlongとして取得します。intgetValue()年の値を取得します。inthashCode()この年のハッシュ・コードです。booleanisAfter(Year other)この年が、指定された年より後にあるかどうかをチェックします。booleanisBefore(Year other)この年が、指定された年より前にあるかどうかをチェックします。booleanisLeap()ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。static booleanisLeap(long year)ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。booleanisSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。booleanisSupported(TemporalUnit unit)指定された単位がサポートされているかどうかをチェックします。booleanisValidMonthDay(MonthDay monthDay)月-日がこの年に対して有効であるかどうかを確認します。intlength()この年の長さを日数で取得します。Yearminus(long amountToSubtract, TemporalUnit unit)指定された量を減算して、この年のコピーを返します。Yearminus(TemporalAmount amountToSubtract)指定された量を減算して、この年のコピーを返します。YearminusYears(long yearsToSubtract)指定された年数を減算して、このYearのコピーを返します。static Yearnow()デフォルトのタイムゾーンのシステム・クロックから現在の年を取得します。static Yearnow(Clock clock)指定されたクロックから現在の年を取得します。static Yearnow(ZoneId zone)指定されたタイムゾーンのシステム・クロックから現在の年を取得します。static Yearof(int isoYear)Yearのインスタンスを取得します。static Yearparse(CharSequence text)2007などのテキスト文字列からYearのインスタンスを取得します。static Yearparse(CharSequence text, DateTimeFormatter formatter)特定のフォーマッタを使用して、テキスト文字列からYearのインスタンスを取得します。Yearplus(long amountToAdd, TemporalUnit unit)指定された量を加算して、この年のコピーを返します。Yearplus(TemporalAmount amountToAdd)指定された量を加算して、この年のコピーを返します。YearplusYears(long yearsToAdd)指定された年数を加算して、このYearのコピーを返します。<R> Rquery(TemporalQuery<R> query)指定された問合せを使用してこの年を問い合せます。ValueRangerange(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。StringtoString()この年をStringとして出力します。longuntil(Temporal endExclusive, TemporalUnit unit)別の年までの時間量を指定された単位で計算します。Yearwith(TemporalAdjuster adjuster)この年の調整済のコピーを返します。Yearwith(TemporalField field, long newValue)指定されたフィールドを新しい値に設定して、この年のコピーを返します。
- 
フィールド詳細
- 
メソッドの詳細- 
nowpublic static Year now()デフォルトのタイムゾーンのシステム・クロックから現在の年を取得します。これは、デフォルトのタイムゾーンの システム・クロックを問い合わせて、現在の年を取得します。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - 戻り値:
- システム・クロックとデフォルトのタイムゾーンを使用した現在の年。null以外
 
- 
now指定されたタイムゾーンのシステム・クロックから現在の年を取得します。これは、 システム・クロックを問い合わせて現在の年を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。 - パラメータ:
- zone- 使用するゾーンID、null以外
- 戻り値:
- システム・クロックを使用した現在の年。null以外
 
- 
now指定されたクロックから現在の年を取得します。これは、指定されたクロックを問い合わせて現在の年を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは dependency injectionを使用して導入できます。- パラメータ:
- clock- 使用するクロック、null以外
- 戻り値:
- 現在の年。null以外
 
- 
ofpublic 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- そのフィールドが無効である場合
 
- 
frompublic static Year from(TemporalAccessor temporal)時間的オブジェクトからYearのインスタンスを取得します。これは、指定された時間的オブジェクトに基づいて年を取得します。 TemporalAccessorは任意の日付と時間のセットに関する情報を表し、それがこのファクトリでYearのインスタンスに変換されます。この変換では、 yearフィールドを抽出します。 この抽出が許可されるのは、時間的オブジェクトにISOの暦が含まれているか、そのオブジェクトをLocalDateに変換できる場合にかぎられます。このメソッドは関数型インタフェース TemporalQueryのシグネチャに一致するため、メソッド参照Year::fromを介して、問合せとして使用できます。- パラメータ:
- temporal- 変換する一時オブジェクト、null以外
- 戻り値:
- 年。null以外
- 例外:
- DateTimeException-- Yearに変換できない場合
 
- 
parsepublic static Year parse(CharSequence text)2007などのテキスト文字列からYearのインスタンスを取得します。この文字列は有効な年を表している必要があります。 0000-9999の範囲外にある年の前には、プラスまたはマイナス記号を付ける必要があります。 - パラメータ:
- text- 「2007」などの解析対象のテキスト。null以外
- 戻り値:
- 解析された年。null以外
- 例外:
- DateTimeParseException- テキストが解析できない場合
 
- 
parsepublic static Year parse(CharSequence text, DateTimeFormatter formatter)特定のフォーマッタを使用して、テキスト文字列からYearのインスタンスを取得します。そのテキストがフォーマッタを使って解析され、年が返されます。 - パラメータ:
- text- 解析するテキスト。null以外
- formatter- 使用するフォーマッタ、null以外
- 戻り値:
- 解析された年。null以外
- 例外:
- DateTimeParseException- テキストが解析できない場合
 
- 
isLeappublic static boolean isLeap(long year)ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。 たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。 計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。 - パラメータ:
- year- チェック対象の年
- 戻り値:
- 年がうるう年の場合はtrue、それ以外の場合はfalse
 
- 
getValuepublic int getValue()年の値を取得します。このメソッドで返される年は、 get(YEAR)のように予期的なものです。- 戻り値:
- 年(MIN_VALUEからMAX_VALUEまで)
 
- 
isSupportedpublic 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
 
- 
isSupportedpublic 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
 
- 
rangepublic ValueRange range(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この年は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。 フィールドが ChronoFieldの場合、ここに問合せを実装します。サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェースTemporalAccessorのrange
- パラメータ:
- field- 範囲を問い合わせるフィールド、null以外
- 戻り値:
- フィールドの有効値の範囲。null以外
- 例外:
- DateTimeException- フィールドの範囲を取得できない場合
- UnsupportedTemporalTypeException- フィールドがサポートされていない場合
 
- 
getpublic int get(TemporalField field)この年から指定されたフィールドの値をintとして取得します。これは、指定されたフィールドの値についてこの年に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。 フィールドが ChronoFieldの場合、ここに問合せを実装します。サポートされているフィールドは、この年に基づいて有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェースTemporalAccessorのget
- パラメータ:
- field- 取得するフィールド、null以外
- 戻り値:
- フィールドの値
- 例外:
- DateTimeException- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合
- UnsupportedTemporalTypeException- フィールドがサポートされていない場合、または値の範囲が- intを超えている場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
getLongpublic long getLong(TemporalField field)この年から指定されたフィールドの値をlongとして取得します。これは、指定されたフィールドの値についてこの年に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。 フィールドが ChronoFieldの場合、ここに問合せを実装します。サポートされているフィールドは、この年に基づいて有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェースTemporalAccessorのgetLong
- パラメータ:
- field- 取得するフィールド、null以外
- 戻り値:
- フィールドの値
- 例外:
- DateTimeException- フィールドの値を取得できない場合
- UnsupportedTemporalTypeException- フィールドがサポートされていない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
isLeappublic boolean isLeap()ISO先発暦体系のルールに従って、年がうるう年であるかどうかをチェックします。このメソッドは、時系列全体にわたって、うるう年の現在のルールを適用します。 一般に、年は4で割り切れる場合にうるう年です。 ただし、400で割り切れる年を除き、100で割り切れる年はうるう年ではありません。 たとえば、1904年は4で割り切れるうるう年です。1900年は100で割り切れるため、うるう年ではありませんでしたが、2000年は400で割り切れるため、うるう年でした。 計算は先発暦で、遠い将来および遠い過去にも同じルールが適用されます。 これは歴史的には正確ではありませんが、ISO-8601規格には正確です。 - 戻り値:
- 年がうるう年の場合はtrue、それ以外の場合はfalse
 
- 
isValidMonthDaypublic boolean isValidMonthDay(MonthDay monthDay)月-日がこの年に対して有効であるかどうかを確認します。このメソッドは、この年、および入力された月と日から有効な日付が形成されるかどうかを確認します。 - パラメータ:
- monthDay- 検証対象の月-日。nullはfalseを返す
- 戻り値:
- その月と日がこの年に対して有効である場合はtrue
 
- 
lengthpublic int length()この年の長さを日数で取得します。- 戻り値:
- この年の長さ(日数)。365または366
 
- 
withpublic Year with(TemporalAdjuster adjuster)この年の調整済のコピーを返します。これは、年を調整して、この年に基づく Yearを返します。 調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。 どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。このメソッドの結果は、指定されたアジャスタで thisを引数として渡してTemporalAdjuster.adjustInto(Temporal)メソッドを呼び出すことによって取得されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - 定義:
- インタフェースTemporalのwith
- パラメータ:
- adjuster- 使用するアジャスタ、null以外
- 戻り値:
- 調整が行われた、これに基づくYear。null以外
- 例外:
- DateTimeException- 調整ができない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
withpublic 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- 数値のオーバーフローが発生した場合
 
- 
pluspublic Year plus(TemporalAmount amountToAdd)指定された量を加算して、この年のコピーを返します。これは、指定された量を加算して、この年に基づく Yearを返します。 この量は通常Periodですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。計算は、 TemporalAmount.addTo(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - 定義:
- インタフェースTemporalのplus
- パラメータ:
- amountToAdd- 加算する量、nullでない
- 戻り値:
- 加算が行われた、この年に基づくYear。null以外
- 例外:
- DateTimeException- 加算できない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
pluspublic 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- 数値のオーバーフローが発生した場合
 
- 
plusYearspublic Year plusYears(long yearsToAdd)指定された年数を加算して、このYearのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - パラメータ:
- yearsToAdd- 加算する年数。負の値の場合もある
- 戻り値:
- その年が加算された、この年に基づくYear。null以外
- 例外:
- DateTimeException- 結果がサポートされている範囲を超える場合
 
- 
minuspublic Year minus(TemporalAmount amountToSubtract)指定された量を減算して、この年のコピーを返します。これは、指定された量を減算して、この年に基づく Yearを返します。 この量は通常Periodですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。計算は、 TemporalAmount.subtractFrom(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - 定義:
- インタフェースTemporalのminus
- パラメータ:
- amountToSubtract- 減算する量、nullでない
- 戻り値:
- 減算が行われた、この年に基づくYear。null以外
- 例外:
- DateTimeException- 減算ができない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
minuspublic Year minus(long amountToSubtract, TemporalUnit unit)指定された量を減算して、この年のコピーを返します。これは、その単位での量を減算して、この年に基づく Yearを返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。このメソッドは、量を符号反転した plus(long, TemporalUnit)と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - 定義:
- インタフェースTemporalのminus
- パラメータ:
- amountToSubtract- 結果から減算する単位の量、負も可
- unit- 減算する量の単位、nullでない
- 戻り値:
- 指定された量が減算された、この年に基づくYear。null以外
- 例外:
- DateTimeException- 減算ができない場合
- UnsupportedTemporalTypeException- 単位がサポートされていない場合
- ArithmeticException- 数値のオーバーフローが発生した場合
 
- 
minusYearspublic Year minusYears(long yearsToSubtract)指定された年数を減算して、このYearのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。 - パラメータ:
- yearsToSubtract- 減算する年数。負の値の場合もある
- 戻り値:
- その年が減算された、この年に基づくYear。null以外
- 例外:
- DateTimeException- 結果がサポートされている範囲を超える場合
 
- 
querypublic <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- 数値のオーバーフローが発生した場合
 
- 
untilpublic 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- 数値のオーバーフローが発生した場合
 
- 
formatpublic String format(DateTimeFormatter formatter)指定されたフォーマッタを使用してこの年を書式設定します。この年がフォーマッタに渡されて、文字列が生成されます。 - パラメータ:
- formatter- 使用するフォーマッタ、null以外
- 戻り値:
- 書式設定された年の文字列。null以外
- 例外:
- DateTimeException- 出力時にエラーが発生した場合
 
- 
atDaypublic 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以外
 
- 
atMonthpublic 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以外
 
- 
compareTopublic int compareTo(Year other)この年をもう一方の年と比較します。この比較は、年の値に基づいています。 Comparableに定義されているとおりに、「equalsと一致」しています。- 定義:
- compareTo、インタフェース:- Comparable<Year>
- パラメータ:
- other- 比較対象のもう一方の年。null以外
- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
 
- 
isAfterpublic boolean isAfter(Year other)この年が、指定された年より後にあるかどうかをチェックします。- パラメータ:
- other- 比較対象のもう一方の年。null以外
- 戻り値:
- これが指定された年より後にある場合はtrue
 
- 
isBeforepublic boolean isBefore(Year other)この年が、指定された年より前にあるかどうかをチェックします。- パラメータ:
- other- 比較対象のもう一方の年。null以外
- 戻り値:
- この時点が指定された年より前にある場合はtrue
 
- 
equalspublic boolean equals(Object obj)この年がもう一方の年と等しいかどうかを確認します。この比較は、それらの年の時系列上の位置に基づいています。 - オーバーライド:
- equals、クラス:- Object
- パラメータ:
- obj- チェックするオブジェクト、nullはfalseを返す
- 戻り値:
- これがもう一方の年と等しい場合はtrue
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic int hashCode()この年のハッシュ・コードです。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
toStringpublic String toString()この年をStringとして出力します。
 
-