- すべての実装されたインタフェース:
Serializable
,Comparable<Duration>
,TemporalAmount
このクラスは、秒とナノ秒に基づいて時間量をモデル化します。 他のデュレーション・ベース単位(分や時など)を使用してアクセスできます。 DAYS
単位も使用できます。これは、24時間と完全に同等として扱われ、サマー・タイムの影響は無視されます。 このクラスの日付ベースで同等のものについては、Period
を参照してください。
物理デュレーションは無限の長さにできます。 実用性のために、デュレーションはInstant
と同様の制約で保存されます。 デュレーションはナノ秒分解能を使用し、最大値はlong
で保持できる秒です。 これは、宇宙の現在の推定年齢よりも大きいです。
デュレーションの範囲には、long
よりも大きな数値の保存が必要です。 これを実現するために、このクラスは秒を表すlong
と、「1秒のうちのナノ秒」を表すint
(常に0と999,999,999の間になる)を保存します。 モデルは有向デュレーションなので、デュレーションは負も可能です。
デュレーションは秒単位で測定されますが、原子時計に基づく科学的「SI秒」定義と同じとは限りません。 この違いはうるう秒付近で測定されるデュレーションにのみ影響し、ほとんどのアプリケーションには影響しないはずです。 秒とタイム・スケールの意味についてはInstant
を参照してください。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equals
メソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
フィールドのサマリー
フィールド -
メソッドのサマリー
修飾子と型メソッド説明abs()
正の長さを使って、このデュレーションのコピーを返します。指定された時間的オブジェクトにこのデュレーションを加算します。static Duration
2つの時間的オブジェクト間のデュレーションを表すDuration
を取得します。int
このデュレーションを指定されたDuration
と比較します。dividedBy
(long divisor) 指定された値で除算された、このデュレーションのコピーを返します。long
指定した期間がこの期間内に発生した全体の回数を返します。boolean
指定されたDuration
とこのデュレーションが等しいかどうかをチェックします。static Duration
from
(TemporalAmount amount) 時間的な量からDuration
のインスタンスを取得します。long
get
(TemporalUnit unit) 要求された単位の値を取得します。int
getNano()
このデュレーションの秒内のナノ秒数を取得します。long
このデュレーションの秒数を取得します。getUnits()
このデュレーションでサポートされている単位セットを取得します。int
hashCode()
このデュレーションのハッシュ・コード。boolean
このデュレーションが負かどうかをチェックします(ゼロを除く)。boolean
ゼロを除くこの期間がプラスかどうかを確認します。boolean
isZero()
このデュレーションが長さゼロかどうかをチェックします。minus
(long amountToSubtract, TemporalUnit unit) 指定されたデュレーションを減算した、このデュレーションのコピーを返します。指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusDays
(long daysToSubtract) 標準24時間日の日数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusHours
(long hoursToSubtract) 時間数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusMillis
(long millisToSubtract) ミリ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusMinutes
(long minutesToSubtract) 分数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusNanos
(long nanosToSubtract) ナノ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。minusSeconds
(long secondsToSubtract) 秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。multipliedBy
(long multiplicand) そのスカラーで乗算された、このデュレーションのコピーを返します。negated()
長さを否定して、このデュレーションのコピーを返します。static Duration
of
(long amount, TemporalUnit unit) 指定された単位での量を表すDuration
を取得します。static Duration
ofDays
(long days) 標準24時間日の数を表すDuration
を取得します。static Duration
ofHours
(long hours) 標準の時間数を表すDuration
を取得します。static Duration
ofMillis
(long millis) ミリ秒数を表すDuration
を取得します。static Duration
ofMinutes
(long minutes) 標準の分数を表すDuration
を取得します。static Duration
ofNanos
(long nanos) ナノ秒数を表すDuration
を取得します。static Duration
ofSeconds
(long seconds) 秒数を表すDuration
を取得します。static Duration
ofSeconds
(long seconds, long nanoAdjustment) 秒数およびナノ秒数での調整を表すDuration
を取得します。static Duration
parse
(CharSequence text) PnDTnHnMn.nS
などのテキスト文字列からDuration
を取得します。plus
(long amountToAdd, TemporalUnit unit) 指定されたデュレーションを加算した、このデュレーションのコピーを返します。指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusDays
(long daysToAdd) 標準24時間日の日数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusHours
(long hoursToAdd) 時間数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusMillis
(long millisToAdd) ミリ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusMinutes
(long minutesToAdd) 分数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusNanos
(long nanosToAdd) ナノ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。plusSeconds
(long secondsToAdd) 秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。subtractFrom
(Temporal temporal) 指定された時間的オブジェクトからこのデュレーションを減算します。long
toDays()
このデュレーションの日数を取得します。long
期間内の日数を抽出します。long
toHours()
このデュレーションの時数を取得します。int
期間内の時間数部分を抽出します。long
toMillis()
このデュレーションを合計長(ミリ秒単位)に変換します。int
期間のミリ秒部分を抽出します。long
このデュレーションの分数を取得します。int
期間内の分数を抽出します。long
toNanos()
このデュレーションを合計長(long
で表現されるナノ秒単位)に変換します。int
ナノ秒の部分を期間の秒単位で取得します。long
このデュレーションの秒数を取得します。int
期間内の秒数を抽出します。toString()
このデュレーションの、ISO-8601秒ベース表現を使用した文字列表現です(PT8H6M12.345S
など)。truncatedTo
(TemporalUnit unit) 指定された単位に切り捨てられたこのDuration
のコピーを返します。withNanos
(int nanoOfSecond) 指定されたナノ秒を使って、このデュレーションのコピーを返します。withSeconds
(long seconds) 指定された秒数を使って、このデュレーションのコピーを返します。
-
フィールド詳細
-
ZERO
public static final Duration ZEROゼロのデュレーションを表す定数です。
-
-
メソッドの詳細
-
ofDays
public static Duration ofDays(long days) 標準24時間日の数を表すDuration
を取得します。秒は、日の標準定義に基づいて計算されます(各日は86400秒、つまり24時間/日)。 秒の中のナノ秒のフィールドはゼロに設定されます。
- パラメータ:
days
- 日数、正または負- 戻り値:
Duration
、nullでない- 例外:
ArithmeticException
- 入力日がDuration
の容量を超える場合
-
ofHours
public static Duration ofHours(long hours) 標準の時間数を表すDuration
を取得します。秒は、時の標準定義に基づいて計算されます(各時は3600秒)。 秒の中のナノ秒のフィールドはゼロに設定されます。
- パラメータ:
hours
- 時数、正または負- 戻り値:
Duration
、nullでない- 例外:
ArithmeticException
- 入力時がDuration
の容量を超える場合
-
ofMinutes
public static Duration ofMinutes(long minutes) 標準の分数を表すDuration
を取得します。秒は、分の標準定義に基づいて計算されます(各分は60秒)。 秒の中のナノ秒のフィールドはゼロに設定されます。
- パラメータ:
minutes
- 分数、正または負- 戻り値:
Duration
、nullでない- 例外:
ArithmeticException
- 入力された分数がDuration
の容量を超える場合
-
ofSeconds
public static Duration ofSeconds(long seconds) 秒数を表すDuration
を取得します。秒の中のナノ秒のフィールドはゼロに設定されます。
- パラメータ:
seconds
- 秒数、正または負- 戻り値:
Duration
、nullでない
-
ofSeconds
public static Duration ofSeconds(long seconds, long nanoAdjustment) 秒数およびナノ秒数での調整を表すDuration
を取得します。このメソッドには任意のナノ秒数を渡すことができます。 ファクトリは、保存済みナノ秒の範囲が0から999,999,999であることを保証するために、秒とナノ秒の値を変更します。 たとえば、次のような場合、期間はまったく同じになります。
Duration.ofSeconds(3, 1); Duration.ofSeconds(4, -999_999_999); Duration.ofSeconds(2, 1000_000_001);
- パラメータ:
seconds
- 秒数、正または負nanoAdjustment
- 秒数に対するナノ秒調整、正または負- 戻り値:
Duration
、nullでない- 例外:
ArithmeticException
- 調整によって秒がDuration
の容量を超える場合
-
ofMillis
public static Duration ofMillis(long millis) ミリ秒数を表すDuration
を取得します。秒とナノ秒が、指定されたミリ秒から抽出されます。
- パラメータ:
millis
- ミリ秒数、正または負- 戻り値:
Duration
、nullでない
-
ofNanos
public static Duration ofNanos(long nanos) ナノ秒数を表すDuration
を取得します。秒とナノ秒が、指定されたナノ秒から抽出されます。
- パラメータ:
nanos
- ナノ秒数、正または負- 戻り値:
Duration
、nullでない
-
of
public static Duration of(long amount, TemporalUnit unit) 指定された単位での量を表すDuration
を取得します。パラメータは、6 Hoursのように、2つの部分から成る語句を表しています。 たとえば、
Duration.of(3, SECONDS); Duration.of(465, HOURS);
単位のサブセットのみがこのメソッドで受け入れられます。 単位は、正確なデュレーション、またはChronoUnit.DAYS
(24時間として扱われる)を持つ必要があります。 他の単位は例外をスローします。- パラメータ:
amount
- デュレーションの量、単位に基づいて測定される、正または負unit
- デュレーションが測定される単位、正確なデュレーションを持つ必要がある、nullでない- 戻り値:
Duration
、nullでない- 例外:
DateTimeException
- ユニットに推定期間がある場合ArithmeticException
- 数値オーバーフローが発生した場合
-
from
public static Duration from(TemporalAmount amount) 時間的な量からDuration
のインスタンスを取得します。これは、指定された量に基づいてデュレーションを取得します。
TemporalAmount
は時間量を表し(日付ベースまたは時間ベース)、このファクトリはこれをデュレーションに抽出します。この変換では、量から単位のセットをループし、単位のデュレーションを使用して合計
Duration
を計算します。 単位のサブセットのみがこのメソッドで受け入れられます。 単位は、正確なデュレーション、またはChronoUnit.DAYS
(24時間として扱われる)を持つ必要があります。 他の単位が見つかった場合は、例外がスローされます。- パラメータ:
amount
- 変換する時間量、nullでない- 戻り値:
- 同等のデュレーション、nullでない
- 例外:
DateTimeException
-Duration
に変換できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
parse
public static Duration parse(CharSequence text) PnDTnHnMn.nS
などのテキスト文字列からDuration
を取得します。これは、
toString()
によって作成される文字列を含めて、デュレーションのテキスト表現を解析します。 受け入れられるフォーマットは、日が正確に24時間と見なされる、ISO-8601デュレーション・フォーマットPnDTnHnMn.nS
ベースです。文字列は、ASCIIマイナスまたはプラス記号で示されるオプション記号で始まります。 負の場合、期間全体が否定されます。 ASCII文字Pが大文字または小文字で続きます。 その後は4つセクションで、それぞれ数字と接尾辞で構成されます。 セクションの接尾辞はASCIIのD、H、MおよびSで、それぞれ日、時、分、秒を表し、大文字または小文字を使用できます。 接尾辞は順番に出現する必要があります。 時、分または秒セクションの最初の出現(出現する場合)の前に、ASCII文字Tが出現する必要があります。 4つのセクションの少なくとも1つが存在する必要があります。Tが存在する場合は、Tの後に少なくとも1つのセクションが必要です。 各セクションの数字部分は、1つ以上のASCII数字で構成されている必要があります。 数字の前に、ASCIIマイナスまたはプラス記号を付けることができます。 日数、時間数および分数は、
long
に解析する必要があります。 秒数は、オプションの小数でlong
に解析する必要があります。 小数点にはドットまたはカンマを使用できます。 小数部分には0から9の数字を使用できます。先頭のプラス/マイナス記号と他の単位の負の値は、ISO-8601標準の一部ではありません。
例
"PT20.345S" -- parses as "20.345 seconds" "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" "PT-6H3M" -- parses as "-6 hours and +3 minutes" "-PT6H3M" -- parses as "-6 hours and -3 minutes" "-PT-6H+3M" -- parses as "+6 hours and -3 minutes"
- パラメータ:
text
- 解析するテキスト。null以外- 戻り値:
- 解析されたデュレーション、nullでない
- 例外:
DateTimeParseException
- テキストがデュレーションに解析できない場合
-
between
2つの時間的オブジェクト間のデュレーションを表すDuration
を取得します。これは、2つの時間的オブジェクト間のデュレーションを計算します。 オブジェクトが別の型の場合、デュレーションは最初のオブジェクトの型に基づいて計算されます。 たとえば、最初の引数が
LocalTime
の場合、2番目の引数はLocalTime
に変換されます。指定された時間的オブジェクトは
SECONDS
単位をサポートする必要があります。 精度を最大化するために、NANOS
単位またはNANO_OF_SECOND
フィールドをサポートすることをお薦めします。このメソッドの結果は、終了が開始より前の場合は負の期間になる可能性があります。 正のデュレーションを取得することを保証するには、結果に対して
abs()
を呼び出してください。- パラメータ:
startInclusive
- 開始インスタント(これを含む)、nullでないendExclusive
- 終了インスタント(これを含まない)、nullでない- 戻り値:
Duration
、nullでない- 例外:
DateTimeException
- 時間的オブジェクト間の秒を取得できない場合ArithmeticException
- 計算がDuration
の容量を超える場合
-
get
public long get(TemporalUnit unit) - 定義:
- インタフェース
TemporalAmount
のget
- パラメータ:
unit
- 値を返す対象のTemporalUnit
- 戻り値:
- 単位のlong値
- 例外:
DateTimeException
- 単位がサポートされていない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合
-
getUnits
public List<TemporalUnit> getUnits()このデュレーションでサポートされている単位セットを取得します。サポートされる単位は
SECONDS
とNANOS
です。 これらは秒、ナノ秒の順序で返されます。このセットは、
get(TemporalUnit)
と一緒に使用して、期間の全体の状態にアクセスできます。- 定義:
- インタフェース
TemporalAmount
のgetUnits
- 戻り値:
- 秒およびナノ秒単位を含むリスト、nullでない
-
isPositive
public boolean isPositive()ゼロを除くこの期間がプラスかどうかを確認します。Duration
は時系列上の2点間の方向を有向距離を表し、正、ゼロまたは負の可能性があります。 このメソッドは、長さがゼロより大きいかどうかをチェックします。- 戻り値:
- この期間の長さがゼロより大きい場合はtrue
- 導入されたバージョン:
- 18
-
isZero
public boolean isZero()このデュレーションが長さゼロかどうかをチェックします。Duration
は時系列上の2点間の方向を有向距離を表し、正、ゼロまたは負の可能性があります。 このメソッドは長さがゼロかどうかをチェックします。- 戻り値:
- このデュレーションの合計長がゼロの場合はtrue
-
isNegative
public boolean isNegative()このデュレーションが負かどうかをチェックします(ゼロを除く)。Duration
は時系列上の2点間の方向を有向距離を表し、正、ゼロまたは負の可能性があります。 このメソッドは長さがゼロより短いかどうかをチェックします。- 戻り値:
- このデュレーションの合計長がゼロより短い場合はtrue
-
getSeconds
public long getSeconds()このデュレーションの秒数を取得します。デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。 ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。 合計デュレーションは、このメソッドと
getNano()
を呼び出すことによって定義されます。Duration
は時系列上の2点間の有向距離を表します。 負のデュレーションは、秒部分のマイナス記号で表現されます。 -1ナノ秒のデュレーションは-1秒+999,999,999ナノ秒として保存されます。- 戻り値:
- デュレーションの長さの整数秒部分、正または負
-
getNano
public int getNano()このデュレーションの秒内のナノ秒数を取得します。デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。 ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。 合計デュレーションは、このメソッドと
getSeconds()
を呼び出すことによって定義されます。Duration
は時系列上の2点間の有向距離を表します。 負のデュレーションは、秒部分のマイナス記号で表現されます。 -1ナノ秒のデュレーションは-1秒+999,999,999ナノ秒として保存されます。- 戻り値:
- デュレーションの長さの秒の中のナノ秒部分、0から999,999,999
-
withSeconds
public Duration withSeconds(long seconds) 指定された秒数を使って、このデュレーションのコピーを返します。これは、指定された秒付きのデュレーションを返します(このデュレーションの「1秒のうちのナノ秒」部分を保持)。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
seconds
- 表現する秒、負も可- 戻り値:
- リクエストされた秒を含むこの期間に基づく
Duration
。null以外
-
withNanos
public Duration withNanos(int nanoOfSecond) 指定されたナノ秒を使って、このデュレーションのコピーを返します。これは、指定された「1秒のうちのナノ秒」付きのデュレーションを返します(このデュレーションの秒部分を保持)。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanoOfSecond
- 表現する「1秒のうちのナノ秒」、0から999,999,999- 戻り値:
- リクエストされたナノ秒を含むこの期間に基づく
Duration
。null以外 - 例外:
DateTimeException
- 「1秒のうちのナノ秒」が無効な場合
-
plus
指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
duration
- 加算するデュレーション、正または負、nullでない- 戻り値:
- 指定されたデュレーションが加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plus
public Duration plus(long amountToAdd, TemporalUnit unit) 指定されたデュレーションを加算した、このデュレーションのコピーを返します。デュレーション量は指定された単位に基づいて測定されます。 単位のサブセットのみがこのメソッドで受け入れられます。 単位は、正確なデュレーション、または
ChronoUnit.DAYS
(24時間として扱われる)を持つ必要があります。 他の単位は例外をスローします。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
amountToAdd
- 加算する量、単位に基づいて測定、正または負unit
- 量が測定される単位、正確なデュレーションを持つ必要がある、null以外- 戻り値:
- 指定されたデュレーションが加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusDays
public Duration plusDays(long daysToAdd) 標準24時間日の日数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。日数は、加算する秒数を取得するために、86400倍されます。 これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
daysToAdd
- 加算する日数、正または負- 戻り値:
- 指定された日数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusHours
public Duration plusHours(long hoursToAdd) 時間数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hoursToAdd
- 加算する時数、正または負- 戻り値:
- 指定された時数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusMinutes
public Duration plusMinutes(long minutesToAdd) 分数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutesToAdd
- 加算する分数、正または負- 戻り値:
- 指定された分数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusSeconds
public Duration plusSeconds(long secondsToAdd) 秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
secondsToAdd
- 加算する秒数、正または負- 戻り値:
- 指定された秒数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusMillis
public Duration plusMillis(long millisToAdd) ミリ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
millisToAdd
- 加算するミリ秒数、正または負- 戻り値:
- 指定されたミリ秒数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusNanos
public Duration plusNanos(long nanosToAdd) ナノ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanosToAdd
- 加算するナノ秒数、正または負- 戻り値:
- 指定されたナノ秒数が加算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minus
指定されたデュレーションを減算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
duration
- 減算するデュレーション、正または負、nullでない- 戻り値:
- 指定されたデュレーションが減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minus
public Duration minus(long amountToSubtract, TemporalUnit unit) 指定されたデュレーションを減算した、このデュレーションのコピーを返します。デュレーション量は指定された単位に基づいて測定されます。 単位のサブセットのみがこのメソッドで受け入れられます。 単位は、正確なデュレーション、または
ChronoUnit.DAYS
(24時間として扱われる)を持つ必要があります。 他の単位は例外をスローします。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
amountToSubtract
- 減算する量、単位に基づいて測定、正または負unit
- 量が測定される単位、正確なデュレーションを持つ必要がある、null以外- 戻り値:
- 指定されたデュレーションが減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusDays
public Duration minusDays(long daysToSubtract) 標準24時間日の日数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。日数は、減算する秒数を取得するために、86400倍されます。 これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
daysToSubtract
- 減算する日数、正または負- 戻り値:
- 指定された日数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusHours
public Duration minusHours(long hoursToSubtract) 時間数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。時数は、減算する秒数を取得するために、3600倍されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hoursToSubtract
- 減算する時数、正または負- 戻り値:
- 指定された時数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusMinutes
public Duration minusMinutes(long minutesToSubtract) 分数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。時数は、減算する秒数を取得するために、60倍されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutesToSubtract
- 減算する分数、正または負- 戻り値:
- 指定された分数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusSeconds
public Duration minusSeconds(long secondsToSubtract) 秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
secondsToSubtract
- 減算する秒数、正または負- 戻り値:
- 指定された秒数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusMillis
public Duration minusMillis(long millisToSubtract) ミリ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
millisToSubtract
- 減算するミリ秒数、正または負- 戻り値:
- 指定されたミリ秒数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusNanos
public Duration minusNanos(long nanosToSubtract) ナノ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanosToSubtract
- 減算するナノ秒数、正または負- 戻り値:
- 指定されたナノ秒数が減算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
multipliedBy
public Duration multipliedBy(long multiplicand) そのスカラーで乗算された、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
multiplicand
- デュレーションに対する乗数値、正または負- 戻り値:
- 指定されたスカラーが乗算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
dividedBy
public Duration dividedBy(long divisor) 指定された値で除算された、このデュレーションのコピーを返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
divisor
- デュレーションに対する除数値、正または負、ゼロでない- 戻り値:
- 指定された除数で除算されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 除数がゼロの場合または数値オーバーフローが発生した場合
-
dividedBy
public long dividedBy(Duration divisor) 指定した期間がこの期間内に発生した全体の回数を返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
divisor
- 期間を、正または負で除算する値、null以外- 戻り値:
- ゼロに四捨五入された整数の回数。指定された
Duration
がこの期間内に発生し、負数になる可能性があります - 例外:
ArithmeticException
- 除数がゼロの場合、または数値のオーバーフローが発生した場合- 導入されたバージョン:
- 9
-
negated
public Duration negated()長さを否定して、このデュレーションのコピーを返します。このメソッドは、このデュレーションの合計長の記号を反転します。 たとえば、
PT1.3S
はPT-1.3S
として返されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 量の記号が反転されたこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
abs
public Duration abs()正の長さを使って、このデュレーションのコピーを返します。このメソッドは正のデュレーションを返します(実際は負の合計長から記号を削除することによって)。 たとえば、
PT-1.3S
はPT1.3S
として返されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 絶対長のこのデュレーションに基づく
Duration
、nullでない - 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
addTo
指定された時間的オブジェクトにこのデュレーションを加算します。これは、このデュレーションが加算された状態の、入力と同じ観察可能型の時間的オブジェクトを返します。
ほとんどのケースで、
Temporal.plus(TemporalAmount)
を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended dateTime = thisDuration.addTo(dateTime); dateTime = dateTime.plus(thisDuration);
計算は、秒を加算してから、ナノ秒を加算します。 ゼロ以外の量のみが加算されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAmount
のaddTo
- パラメータ:
temporal
- 調整する時間的オブジェクト。null以外- 戻り値:
- 調整が行われた同じ型のオブジェクト、null以外
- 例外:
DateTimeException
- 加算できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
subtractFrom
指定された時間的オブジェクトからこのデュレーションを減算します。これは、このデュレーションが減算された状態の、入力と同じ観察可能型の時間的オブジェクトを返します。
ほとんどのケースで、
Temporal.minus(TemporalAmount)
を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended dateTime = thisDuration.subtractFrom(dateTime); dateTime = dateTime.minus(thisDuration);
計算は、秒を減算してから、ナノ秒を減算します。 ゼロ以外の量のみが加算されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAmount
のsubtractFrom
- パラメータ:
temporal
- 調整する時間的オブジェクト。null以外- 戻り値:
- 調整が行われた同じ型のオブジェクト、null以外
- 例外:
DateTimeException
- 減算できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
toDays
public long toDays()このデュレーションの日数を取得します。これは、秒数を86400で除算することによって、デュレーション内の合計日数を返します。 これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーション内の日数、負も可
-
toHours
public long toHours()このデュレーションの時数を取得します。これは、秒数を3600で除算することによって、デュレーション内の合計時数を返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーション内の時数、負も可
-
toMinutes
public long toMinutes()このデュレーションの分数を取得します。これは、秒数を60で除算することによって、デュレーション内の合計分数を返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーションの分数、負も可
-
toSeconds
public long toSeconds()このデュレーションの秒数を取得します。これは、期間内の合計秒数を返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーションの長さの整数秒部分、正または負
- 導入されたバージョン:
- 9
-
toMillis
public long toMillis()このデュレーションを合計長(ミリ秒単位)に変換します。このデュレーションが大きすぎて
long
ミリ秒に収まらない場合、例外がスローされます。このデュレーションの精度がミリ秒精度より大きい場合は、ナノ秒の量が100万で整数除算されたかのように、変換によって余分な精度情報が捨てられます。
- 戻り値:
- デュレーションのミリ秒単位の合計長
- 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
toNanos
public long toNanos()このデュレーションを合計長(long
で表現されるナノ秒単位)に変換します。このデュレーションが大きすぎて
long
ナノ秒に収まらない場合、例外がスローされます。- 戻り値:
- デュレーションのナノ秒単位の合計長
- 例外:
ArithmeticException
- 数値のオーバーフローが発生した場合
-
toDaysPart
public long toDaysPart()期間内の日数を抽出します。これは、秒数を86400で除算することによって、デュレーション内の合計日数を返します。 これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- APIのノート:
- このメソッドは、
toDays()
とまったく同じように動作します。 - 戻り値:
- デュレーション内の日数、負も可
- 導入されたバージョン:
- 9
-
toHoursPart
public int toHoursPart()期間内の時間数部分を抽出します。これは、
toHours()
を1日の時間で割った場合の残りの時間数を返します。 これは、1日を24時間とする標準定義に基づきます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間内の時間数(負の場合あり)
- 導入されたバージョン:
- 9
-
toMinutesPart
public int toMinutesPart()期間内の分数を抽出します。これは、
toMinutes()
を1時間の分で割った場合の残りの分数を返します。 これは、1時間の標準定義(60分)に基づいています。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間内の分数(負の場合あり)
- 導入されたバージョン:
- 9
-
toSecondsPart
public int toSecondsPart()期間内の秒数を抽出します。これは、
toSeconds()
を秒で1分で割った場合の残りの秒を返します。 これは、1分間の標準定義(60秒)に基づいています。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間内の秒数(負数)
- 導入されたバージョン:
- 9
-
toMillisPart
public int toMillisPart()期間のミリ秒部分を抽出します。これは、ナノ秒数を1,000,000で割ってミリ秒部分を返します。 デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。 ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。 合計持続時間は、
getNano()
とgetSeconds()
を呼び出すことによって定義されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間のミリ秒部分の数。
- 導入されたバージョン:
- 9
-
toNanosPart
public int toNanosPart()ナノ秒の部分を期間の秒単位で取得します。デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。 ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。 合計持続時間は、
getNano()
とgetSeconds()
を呼び出すことによって定義されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーションの長さの秒の中のナノ秒部分、0から999,999,999
- 導入されたバージョン:
- 9
-
truncatedTo
public Duration truncatedTo(TemporalUnit unit) 指定された単位に切り捨てられたこのDuration
のコピーを返します。期間を切り捨てると、概念フィールドが指定された単位をゼロに設定した値より小さい元のコピーが返されます。 たとえば、
MINUTES
ユニットによる切捨ては、ゼロに近い分に丸められ、秒およびナノ秒はゼロに設定されます。単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、すべての「
ChronoUnit
での時間ベース・ユニット」およびDAYS
が含まれます。 他のChronoUnitsは例外をスローします。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
unit
- 切り捨てを行う単位、nullでない- 戻り値:
- この期間に基づく
Duration
で、時間が切り捨てられ、null以外 - 例外:
DateTimeException
- 単位が切り捨てについて無効な場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合- 導入されたバージョン:
- 9
-
compareTo
public int compareTo(Duration otherDuration) このデュレーションを指定されたDuration
と比較します。比較は、デュレーションの合計長ベースです。
Comparable
に定義されているとおりに、「equalsと一致」しています。- 定義:
compareTo
、インタフェースComparable<Duration>
- パラメータ:
otherDuration
- 比較する他方のデュレーション、nullでない- 戻り値:
- コンパレータ値。この期間が
otherDuration
未満の場合はゼロ未満、等しい場合はゼロ、この期間がotherDuration
より大きい場合はゼロより大きい値
-
equals
-
hashCode
-
toString
public String toString()このデュレーションの、ISO-8601秒ベース表現を使用した文字列表現です(PT8H6M12.345S
など)。返される文字列のフォーマットは
PTnHnMnS
になります。nはそれぞれ、デュレーションの時、分または秒部分です。 小数秒は、秒セクションの小数点の後に配置されます。 セクションにゼロ値が含まれる場合は、省略されます。 時、分および秒の記号はすべて同じになります。例
"20.345 seconds" -- "PT20.345S "15 minutes" (15 * 60 seconds) -- "PT15M" "10 hours" (10 * 3600 seconds) -- "PT10H" "2 days" (2 * 86400 seconds) -- "PT48H"
Period
との混同を避けるために、24時間の倍数は日数として出力されません。
-