public interface ChronoPeriod extends TemporalAmount
このインタフェースは、暦体系の日付ベースの時間の量をモデル化します。 ほとんどの暦体系では年、月、および日が使われていますが、一部では使われていません。 そのため、このインタフェースは、Chronologyによって定義されている一連のサポートされる単位の形でのみ動作します。 サポートされている一連の単位は特定の暦に固定されています。 サポートされている単位の量はゼロに設定できます。
期間は、方向性のある時間の量としてモデル化されます。つまり、期間の個々の部分は負になることがあります。
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
Temporal |
addTo(Temporal temporal) |
指定された時間的オブジェクトにこの期間を加算します。
|
static ChronoPeriod |
between(ChronoLocalDate startDateInclusive, ChronoLocalDate endDateExclusive) |
2つの日付の間の時間の量から構成される
ChronoPeriodを取得します。 |
boolean |
equals(Object obj) |
暦を含めて、この期間が別の期間と等しいかどうかをチェックします。
|
long |
get(TemporalUnit unit) |
要求された単位の値を取得します。
|
Chronology |
getChronology() |
サポートされる単位の意味を定義する暦を取得します。
|
List<TemporalUnit> |
getUnits() |
この期間でサポートされる一連の単位を取得します。
|
int |
hashCode() |
この期間のハッシュ・コード。
|
default boolean |
isNegative() |
この期間のサポートされる単位のいずれかが負であるかどうかをチェックします。
|
default boolean |
isZero() |
この期間のサポートされる単位のすべてがゼロであるかどうかをチェックします。
|
ChronoPeriod |
minus(TemporalAmount amountToSubtract) |
指定された期間を減算して、この期間のコピーを返します。
|
ChronoPeriod |
multipliedBy(int scalar) |
この期間の各量を指定されたスカラーで乗算して、新しいインスタンスを返します。
|
default ChronoPeriod |
negated() |
この期間の各量を否定した、新しいインスタンスを返します。
|
ChronoPeriod |
normalized() |
各単位の量を正規化して、この期間のコピーを返します。
|
ChronoPeriod |
plus(TemporalAmount amountToAdd) |
この期間のコピーに指定された期間を追加したものを返します。
|
Temporal |
subtractFrom(Temporal temporal) |
指定された時間的オブジェクトからこの期間を減算します。
|
String |
toString() |
この期間を
Stringとして出力します。 |
static ChronoPeriod between(ChronoLocalDate startDateInclusive, ChronoLocalDate endDateExclusive)
ChronoPeriodを取得します。
開始日は含まれますが、終了日は含まれません。 期間はChronoLocalDate.until(ChronoLocalDate)を使用して計算されます。 そのため、計算は暦固有です。
最初の日付の暦が使われます。 2つ目の日付の暦は無視され、計算が開始される前に、日付がターゲットの暦システムに変換されます。
このメソッドの結果は、終了が開始より前である場合に、負の期間になることがあります。 ほとんどの場合に、プラス/マイナス記号はサポートされる各フィールドで同じになります。
startDateInclusive - 開始日(この日を含む)、計算の暦を指定、null以外endDateExclusive - 終了日(この日を含まない)、任意の暦、null以外ChronoLocalDate.until(ChronoLocalDate)long get(TemporalUnit unit)
TemporalAmountのgetunit - 値を返す対象のTemporalUnitDateTimeException - 単位がサポートされていない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合List<TemporalUnit> getUnits()
サポートされている単位は暦固有です。 それらは一般に、YEARS、MONTHS、DAYSです。 それらは最大から最小の順番で返されます。
このセットは、get(TemporalUnit)と一緒に使用して、期間の全体の状態にアクセスできます。
TemporalAmountのgetUnitsChronology getChronology()
期間は暦によって定義されます。 サポートされる単位を制御し、加算/減算を同じ暦のChronoLocalDateインスタンスに制限します。
default boolean isZero()
default boolean isNegative()
ChronoPeriod plus(TemporalAmount amountToAdd)
指定された量がChronoPeriodの場合、この期間と同じ暦である必要があります。 実装では、他のTemporalAmount実装を受け入れることも拒否することも選択できます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
amountToAdd - 加算する期間、null以外ChronoPeriod、null以外ArithmeticException - 数値のオーバーフローが発生した場合ChronoPeriod minus(TemporalAmount amountToSubtract)
指定された量がChronoPeriodの場合、この期間と同じ暦である必要があります。 実装では、他のTemporalAmount実装を受け入れることも拒否することも選択できます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
amountToSubtract - 減算する期間、null以外ChronoPeriod、null以外ArithmeticException - 数値のオーバーフローが発生した場合ChronoPeriod multipliedBy(int scalar)
これは、サポートされる単位が個別に乗算された期間を返します。 たとえば、3を乗算した「2年、-3か月、4日」の期間は、「6年、-9か月、12日」を返します。 正規化は実行されません。
scalar - 乗算するスカラー、null以外ChronoPeriod、null以外ArithmeticException - 数値のオーバーフローが発生した場合default ChronoPeriod negated()
これは、サポートされる各単位が個別に否定された期間を返します。 たとえば、「2年、-3か月、4日」の期間は「-2年、3か月、-4日」に否定されます。 正規化は実行されません。
ChronoPeriod、null以外ArithmeticException - 数値オーバーフローが発生した場合、これはいずれかの単位の値がLong.MIN_VALUEである場合にのみ発生するChronoPeriod normalized()
正規化のプロセスは各暦体系に固有です。 たとえば、ISO暦体系では、年と月が正規化されますが、日は正規化されません。そのため、「15か月」は「1年と3か月」に正規化されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
ChronoPeriod、null以外ArithmeticException - 数値のオーバーフローが発生した場合Temporal addTo(Temporal temporal)
これは、この期間を加算した入力と同じ識別可能な型の時間的オブジェクトを返します。
ほとんどのケースで、Temporal.plus(TemporalAmount)を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.addTo(dateTime); dateTime = dateTime.plus(thisPeriod);
指定された時間的オブジェクトはこの期間と同じ暦である必要があります。 これは、ゼロ以外のサポートされる単位が加算された時間的オブジェクトを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAmountのaddTotemporal - 調整する時間的オブジェクト。null以外DateTimeException - 加算できない場合ArithmeticException - 数値のオーバーフローが発生した場合Temporal subtractFrom(Temporal temporal)
これは、この期間を減算した入力と同じ識別可能な型の時間的オブジェクトを返します。
ほとんどのケースで、Temporal.minus(TemporalAmount)を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended dateTime = thisPeriod.subtractFrom(dateTime); dateTime = dateTime.minus(thisPeriod);
指定された時間的オブジェクトはこの期間と同じ暦である必要があります。 これは、ゼロ以外のサポートされる単位が減算された時間的オブジェクトを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAmountのsubtractFromtemporal - 調整する時間的オブジェクト。null以外DateTimeException - 減算できない場合ArithmeticException - 数値のオーバーフローが発生した場合boolean equals(Object obj)
この期間を別の期間と比較して、タイプ、各量、暦が同じであることを確認します。 これは、「15か月」の期間が「1年と3か月」の期間と等しくないことを意味することに注意してください。
equals、クラスObjectobj - チェックするオブジェクト、nullはfalseを返すObject.hashCode()、HashMapint hashCode()
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object) バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。