- すべての実装されたインタフェース:
Serializable
,Comparable<Duration>
,TemporalAmount
public final class Duration extends Object implements TemporalAmount, Comparable<Duration>, Serializable
このクラスは、秒とナノ秒に基づいて時間量をモデル化します。 他のデュレーション・ベース単位(分や時など)を使用してアクセスできます。 DAYS
単位も使用できます。これは、24時間と完全に同等として扱われ、サマー・タイムの影響は無視されます。 このクラスの日付ベースで同等のものについては、Period
を参照してください。
物理デュレーションは無限の長さにできます。 実用性のために、デュレーションはInstant
と同様の制約で保存されます。 デュレーションはナノ秒分解能を使用し、最大値はlong
で保持できる秒です。 これは、宇宙の現在の推定年齢よりも大きいです。
デュレーションの範囲には、long
よりも大きな数値の保存が必要です。 これを実現するために、このクラスは秒を表すlong
と、「1秒のうちのナノ秒」を表すint
(常に0と999,999,999の間になる)を保存します。 モデルは有向デュレーションなので、デュレーションは負も可能です。
デュレーションは秒単位で測定されますが、原子時計に基づく科学的「SI秒」定義と同じとは限りません。 この違いはうるう秒付近で測定されるデュレーションにのみ影響し、ほとんどのアプリケーションには影響しないはずです。 秒とタイム・スケールの意味についてはInstant
を参照してください。
これは値ベースのクラスです。単位元に依存するオペレーション(参照型等価(==
)、単位元ハッシュ・コード、同期化を含む)をDuration
のインスタンスで使用すると、予期しない結果が発生する場合があるため、使用しないことをお薦めします。 比較する場合は、equals
メソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
-
フィールドのサマリー
-
メソッドのサマリー
修飾子と型 メソッド 説明 Duration
abs()
正の長さを使って、このデュレーションのコピーを返します。Temporal
addTo(Temporal temporal)
指定された時間的オブジェクトにこのデュレーションを加算します。static Duration
between(Temporal startInclusive, Temporal endExclusive)
2つの時間的オブジェクト間のデュレーションを表すDuration
を取得します。int
compareTo(Duration otherDuration)
このデュレーションを指定されたDuration
と比較します。Duration
dividedBy(long divisor)
指定された値で除算された、このデュレーションのコピーを返します。long
dividedBy(Duration divisor)
このDuration内で指定されたDurationが発生した回数を返します。boolean
equals(Object otherDuration)
指定されたDuration
とこのデュレーションが等しいかどうかをチェックします。static Duration
from(TemporalAmount amount)
時間的な量からDuration
のインスタンスを取得します。long
get(TemporalUnit unit)
要求された単位の値を取得します。int
getNano()
このデュレーションの秒内のナノ秒数を取得します。long
getSeconds()
このデュレーションの秒数を取得します。List<TemporalUnit>
getUnits()
このデュレーションでサポートされている単位セットを取得します。int
hashCode()
このデュレーションのハッシュ・コード。boolean
isNegative()
このデュレーションが負かどうかをチェックします(ゼロを除く)。boolean
isZero()
このデュレーションが長さゼロかどうかをチェックします。Duration
minus(long amountToSubtract, TemporalUnit unit)
指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minus(Duration duration)
指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusDays(long daysToSubtract)
標準24時間日の日数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusHours(long hoursToSubtract)
時間数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusMillis(long millisToSubtract)
ミリ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusMinutes(long minutesToSubtract)
分数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusNanos(long nanosToSubtract)
ナノ秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
minusSeconds(long secondsToSubtract)
秒数で指定されたデュレーションを減算した、このデュレーションのコピーを返します。Duration
multipliedBy(long multiplicand)
そのスカラーで乗算された、このデュレーションのコピーを返します。Duration
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
を取得します。Duration
plus(long amountToAdd, TemporalUnit unit)
指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plus(Duration duration)
指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusDays(long daysToAdd)
標準24時間日の日数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusHours(long hoursToAdd)
時間数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusMillis(long millisToAdd)
ミリ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusMinutes(long minutesToAdd)
分数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusNanos(long nanosToAdd)
ナノ秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Duration
plusSeconds(long secondsToAdd)
秒数で指定されたデュレーションを加算した、このデュレーションのコピーを返します。Temporal
subtractFrom(Temporal temporal)
指定された時間的オブジェクトからこのデュレーションを減算します。long
toDays()
このデュレーションの日数を取得します。long
toDaysPart()
期間内の日数を抽出します。long
toHours()
このデュレーションの時数を取得します。int
toHoursPart()
期間中の時間数を抽出します。long
toMillis()
このデュレーションを合計長(ミリ秒単位)に変換します。int
toMillisPart()
期間のミリ秒数を抽出します。long
toMinutes()
このデュレーションの分数を取得します。int
toMinutesPart()
期間中の分数を抽出します。long
toNanos()
このデュレーションを合計長(long
で表現されるナノ秒単位)に変換します。int
toNanosPart()
持続時間の秒以内にナノ秒の部分を取得します。long
toSeconds()
このデュレーションの秒数を取得します。int
toSecondsPart()
期間中の秒数を抽出します。String
toString()
このデュレーションの、ISO-8601秒ベース表現を使用した文字列表現です(PT8H6M12.345S
など)。Duration
truncatedTo(TemporalUnit unit)
指定された単位に切り捨てられたこのDuration
のコピーを返します。Duration
withNanos(int nanoOfSecond)
指定されたナノ秒を使って、このデュレーションのコピーを返します。Duration
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でない
-
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- 戻り値:
- この期間と要求された「1秒のうちのナノ秒」に基づく
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)このDuration内で指定されたDurationが発生した回数を返します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
divisor
- 持続時間を正または負の値で割る値。- 戻り値:
- ゼロまで丸められた回数、指定された
Duration
がこの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時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- デュレーション内の日数、負も可
- 導入されたバージョン:
- 9
-
toHoursPart
public int toHoursPart()期間中の時間数を抽出します。これは、
toHours()
を1日に時間で割ったときの残りの時間数を返します。 これは、1日を24時間とする標準定義に基づきます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間中の時間部分の数は、負であってもよい
- 導入されたバージョン:
- 9
-
toMinutesPart
public int toMinutesPart()期間中の分数を抽出します。これは、
toMinutes()
を1時間に分単位で分けたときの残り分数を返します。 これは、標準的な1時間の定義を60分としています。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 戻り値:
- 期間内のパーツの数は負であってもよい
- 導入されたバージョン:
- 9
-
toSecondsPart
public int toSecondsPart()期間中の秒数を抽出します。これは、
toSeconds()
を分単位で秒単位で分割するときの残りの秒数を返します。 これは、分の標準的な定義に基づいて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
ユニットによる切捨ては、ゼロに近い分に丸められ、秒およびナノ秒はゼロに設定されます。単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、すべての「 {@code ChronoUnit}の時間ベースのユニット」および
DAYS
が含まれます。 他のChronoUnitsは例外をスローします。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
unit
- 切り捨てを行う単位、nullでない- 戻り値:
Duration
は、この期間に基づいて切り捨てられ、nullではありません。- 例外:
DateTimeException
- 単位が切り捨てについて無効な場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合- 導入されたバージョン:
- 9
-
compareTo
public int compareTo(Duration otherDuration)このデュレーションを指定されたDuration
と比較します。比較は、デュレーションの合計長ベースです。
Comparable
に定義されているとおりに、「equalsと一致」しています。- 定義:
compareTo
、インタフェース:Comparable<Duration>
- パラメータ:
otherDuration
- 比較する他方のデュレーション、nullでない- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
-
equals
public boolean equals(Object otherDuration)指定されたDuration
とこのデュレーションが等しいかどうかをチェックします。比較は、デュレーションの合計長ベースです。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
otherDuration
- 他方のデュレーション、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()このデュレーションの、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時間の倍数は日数として出力されません。
-