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メソッドを使用することをお薦めします。
| 修飾子と型 | メソッドと説明 |
|---|---|
Duration |
abs()
正の長さを使って、このデュレーションのコピーを返します。
|
Temporal |
addTo(Temporal temporal)
指定された時間的オブジェクトにこのデュレーションを加算します。
|
static Duration |
between(Temporal startInclusive, Temporal endExclusive)
2つの時間的オブジェクト間のデュレーションを表す
Durationを取得します。 |
int |
compareTo(Duration otherDuration)
このデュレーションを指定された
Durationと比較します。 |
Duration |
dividedBy(long divisor)
指定された値で除算された、このデュレーションのコピーを返します。
|
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(Duration duration)
指定されたデュレーションを減算した、このデュレーションのコピーを返します。
|
Duration |
minus(long amountToSubtract, TemporalUnit unit)
指定されたデュレーションを減算した、このデュレーションのコピーを返します。
|
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(Duration duration)
指定されたデュレーションを加算した、このデュレーションのコピーを返します。
|
Duration |
plus(long amountToAdd, TemporalUnit unit)
指定されたデュレーションを加算した、このデュレーションのコピーを返します。
|
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 |
toHours()
このデュレーションの時数を取得します。
|
long |
toMillis()
このデュレーションを合計長(ミリ秒単位)に変換します。
|
long |
toMinutes()
このデュレーションの分数を取得します。
|
long |
toNanos()
このデュレーションを合計長(
longで表現されるナノ秒単位)に変換します。 |
String |
toString()
このデュレーションの、ISO-8601秒ベース表現を使用した文字列表現です(
PT8H6M12.345Sなど)。 |
Duration |
withNanos(int nanoOfSecond)
指定されたナノ秒を使って、このデュレーションのコピーを返します。
|
Duration |
withSeconds(long seconds)
指定された秒数を使って、このデュレーションのコピーを返します。
|
public static final Duration ZERO
public static Duration ofDays(long days)
Durationを取得します。
秒は、日の標準定義に基づいて計算されます(各日は86400秒、つまり24時間/日)。秒の中のナノ秒のフィールドはゼロに設定されます。
days - 日数、正または負Duration、nullでないArithmeticException - 入力日がDurationの容量を超える場合public static Duration ofHours(long hours)
Durationを取得します。
秒は、時の標準定義に基づいて計算されます(各時は3600秒)。秒の中のナノ秒のフィールドはゼロに設定されます。
hours - 時数、正または負Duration、nullでないArithmeticException - 入力時がDurationの容量を超える場合public static Duration ofMinutes(long minutes)
Durationを取得します。
秒は、分の標準定義に基づいて計算されます(各分は60秒)。秒の中のナノ秒のフィールドはゼロに設定されます。
minutes - 分数、正または負Duration、nullでないArithmeticException - 入力された分数がDurationの容量を超える場合public static Duration ofSeconds(long seconds)
Durationを取得します。
秒の中のナノ秒のフィールドはゼロに設定されます。
seconds - 秒数、正または負Duration、nullでない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の容量を超える場合public static Duration ofMillis(long millis)
Durationを取得します。
秒とナノ秒が、指定されたミリ秒から抽出されます。
millis - ミリ秒数、正または負Duration、nullでないpublic static Duration ofNanos(long nanos)
Durationを取得します。
秒とナノ秒が、指定されたナノ秒から抽出されます。
nanos - ナノ秒数、正または負Duration、nullでない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 - 数値オーバーフローが発生した場合public static Duration from(TemporalAmount amount)
Durationのインスタンスを取得します。
これは、指定された量に基づいてデュレーションを取得します。TemporalAmountは時間量を表し(日付ベースまたは時間ベース)、このファクトリはこれをデュレーションに抽出します。
この変換では、量から単位のセットをループし、単位のデュレーションを使用して合計Durationを計算します。単位のサブセットのみがこのメソッドで受け入れられます。単位は、正確なデュレーション、またはChronoUnit.DAYS(24時間として扱われる)を持つ必要があります。他の単位が見つかった場合は、例外がスローされます。
amount - 変換する時間量、nullでないDateTimeException - Durationに変換できない場合ArithmeticException - 数値のオーバーフローが発生した場合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"
"P-6H3M" -- parses as "-6 hours and +3 minutes"
"-P6H3M" -- parses as "-6 hours and -3 minutes"
"-P-6H+3M" -- parses as "+6 hours and -3 minutes"
text - 解析するテキスト。null以外DateTimeParseException - テキストがデュレーションに解析できない場合public static Duration between(Temporal startInclusive, Temporal endExclusive)
Durationを取得します。
これは、2つの時間的オブジェクト間のデュレーションを計算します。オブジェクトが別の型の場合、デュレーションは最初のオブジェクトの型に基づいて計算されます。たとえば、最初の引数がLocalTimeの場合、2番目の引数はLocalTimeに変換されます。
指定された時間的オブジェクトはSECONDS単位をサポートする必要があります。精度を最大化するために、NANOS単位またはNANO_OF_SECONDフィールドをサポートすることをお薦めします。
このメソッドの結果は、終了が開始より前である場合に、負の期間になることがあります。正のデュレーションを取得することを保証するには、結果に対してabs()を呼び出してください。
startInclusive - 開始インスタント(これを含む)、nullでないendExclusive - 終了インスタント(これを含まない)、nullでないDuration、nullでないDateTimeException - 時間的オブジェクト間の秒を取得できない場合ArithmeticException - 計算がDurationの容量を超える場合public long get(TemporalUnit unit)
TemporalAmountのgetunit - 値を返す対象のTemporalUnitDateTimeException - 単位がサポートされていない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合public List<TemporalUnit> getUnits()
サポートされる単位はSECONDSとNANOSです。これらは秒、ナノ秒の順序で返されます。
このセットは、get(TemporalUnit)と一緒に使用して、期間の全体の状態にアクセスできます。
TemporalAmountのgetUnitspublic boolean isZero()
Durationは時系列上の2点間の方向を有向距離を表し、正、ゼロまたは負の可能性があります。このメソッドは長さがゼロかどうかをチェックします。
public boolean isNegative()
Durationは時系列上の2点間の方向を有向距離を表し、正、ゼロまたは負の可能性があります。このメソッドは長さがゼロより短いかどうかをチェックします。
public long getSeconds()
デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。合計デュレーションは、このメソッドとgetNano()を呼び出すことによって定義されます。
Durationは時系列上の2点間の有向距離を表します。負のデュレーションは、秒部分のマイナス記号で表現されます。-1ナノ秒のデュレーションは-1秒+999,999,999ナノ秒として保存されます。
public int getNano()
デュレーションの長さは2つのフィールド(秒とナノ秒)を使用して保存されます。ナノ秒部分は0から999,999,999の値で、秒単位の長さへの調整です。合計デュレーションは、このメソッドとgetSeconds()を呼び出すことによって定義されます。
Durationは時系列上の2点間の有向距離を表します。負のデュレーションは、秒部分のマイナス記号で表現されます。-1ナノ秒のデュレーションは-1秒+999,999,999ナノ秒として保存されます。
public Duration withSeconds(long seconds)
これは、指定された秒付きのデュレーションを返します(このデュレーションの「1秒のうちのナノ秒」部分を保持)。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
seconds - 表現する秒、負も可Duration、nullでないpublic Duration withNanos(int nanoOfSecond)
これは、指定された「1秒のうちのナノ秒」付きのデュレーションを返します(このデュレーションの秒部分を保持)。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanoOfSecond - 表現する「1秒のうちのナノ秒」、0から999,999,999Duration、nullでないDateTimeException - 「1秒のうちのナノ秒」が無効な場合public Duration plus(Duration duration)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
duration - 加算するデュレーション、正または負、nullでないDuration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plus(long amountToAdd, TemporalUnit unit)
デュレーション量は指定された単位に基づいて測定されます。単位のサブセットのみがこのメソッドで受け入れられます。単位は、正確なデュレーション、またはChronoUnit.DAYS(24時間として扱われる)を持つ必要があります。他の単位は例外をスローします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
amountToAdd - 期間の量、単位基づいて測定、正または負unit - 期間が測定される際の単位、正確なデュレーションを持つ必要がある、nullでないDuration、nullでないUnsupportedTemporalTypeException - 単位がサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public Duration plusDays(long daysToAdd)
日数は、加算する秒数を取得するために、86400倍されます。これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
daysToAdd - 加算する日数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plusHours(long hoursToAdd)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hoursToAdd - 加算する時数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plusMinutes(long minutesToAdd)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutesToAdd - 加算する分数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plusSeconds(long secondsToAdd)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
secondsToAdd - 加算する秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plusMillis(long millisToAdd)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
millisToAdd - 加算するミリ秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration plusNanos(long nanosToAdd)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanosToAdd - 加算するナノ秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minus(Duration duration)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
duration - 減算するデュレーション、正または負、nullでないDuration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minus(long amountToSubtract, TemporalUnit unit)
デュレーション量は指定された単位に基づいて測定されます。単位のサブセットのみがこのメソッドで受け入れられます。単位は、正確なデュレーション、またはChronoUnit.DAYS(24時間として扱われる)を持つ必要があります。他の単位は例外をスローします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
amountToSubtract - 期間の量、単位に基づいて測定、正または負unit - 期間が測定される際の単位、正確なデュレーションを持つ必要がある、nullでないDuration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusDays(long daysToSubtract)
日数は、減算する秒数を取得するために、86400倍されます。これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
daysToSubtract - 減算する日数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusHours(long hoursToSubtract)
時数は、減算する秒数を取得するために、3600倍されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hoursToSubtract - 減算する時数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusMinutes(long minutesToSubtract)
時数は、減算する秒数を取得するために、60倍されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutesToSubtract - 減算する分数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusSeconds(long secondsToSubtract)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
secondsToSubtract - 減算する秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusMillis(long millisToSubtract)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
millisToSubtract - 減算するミリ秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration minusNanos(long nanosToSubtract)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanosToSubtract - 減算するナノ秒数、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration multipliedBy(long multiplicand)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
multiplicand - デュレーションに対する乗数値、正または負Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration dividedBy(long divisor)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
divisor - デュレーションに対する除数値、正または負、ゼロでないDuration、nullでないArithmeticException - 除数がゼロの場合または数値オーバーフローが発生した場合public Duration negated()
このメソッドは、このデュレーションの合計長の記号を反転します。たとえば、PT1.3SはPT-1.3Sとして返されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Duration abs()
このメソッドは正のデュレーションを返します(実際は負の合計長から記号を削除することによって)。たとえば、PT-1.3SはPT1.3Sとして返されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Duration、nullでないArithmeticException - 数値のオーバーフローが発生した場合public Temporal addTo(Temporal temporal)
これは、このデュレーションが加算された状態の、入力と同じ観察可能型の時間的オブジェクトを返します。
ほとんどのケースで、Temporal.plus(TemporalAmount)を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended dateTime = thisDuration.addTo(dateTime); dateTime = dateTime.plus(thisDuration);
計算は、秒を加算してから、ナノ秒を加算します。ゼロ以外の量のみが加算されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAmountのaddTotemporal - 調整する時間的オブジェクト。null以外DateTimeException - 加算できない場合ArithmeticException - 数値のオーバーフローが発生した場合public Temporal subtractFrom(Temporal temporal)
これは、このデュレーションが減算された状態の、入力と同じ観察可能型の時間的オブジェクトを返します。
ほとんどのケースで、Temporal.minus(TemporalAmount)を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended dateTime = thisDuration.subtractFrom(dateTime); dateTime = dateTime.minus(thisDuration);
計算は、秒を減算してから、ナノ秒を減算します。ゼロ以外の量のみが加算されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAmountのsubtractFromtemporal - 調整する時間的オブジェクト。null以外DateTimeException - 減算できない場合ArithmeticException - 数値のオーバーフローが発生した場合public long toDays()
これは、秒数を86400で除算することによって、デュレーション内の合計日数を返します。これは、1日を24時間とする標準定義に基づきます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
public long toHours()
これは、秒数を3600で除算することによって、デュレーション内の合計時数を返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
public long toMinutes()
これは、秒数を60で除算することによって、デュレーション内の合計分数を返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
public long toMillis()
このデュレーションが大きすぎてlongミリ秒に収まらない場合、例外がスローされます。
このデュレーションの精度がミリ秒精度より大きい場合は、ナノ秒の量が100万で整数除算されたかのように、変換によって余分な精度情報が捨てられます。
ArithmeticException - 数値のオーバーフローが発生した場合public long toNanos()
longで表現されるナノ秒単位)に変換します。
このデュレーションが大きすぎてlongナノ秒に収まらない場合、例外がスローされます。
ArithmeticException - 数値のオーバーフローが発生した場合public int compareTo(Duration otherDuration)
Durationと比較します。
比較は、デュレーションの合計長ベースです。Comparableに定義されているとおりに、「equalsと一致」しています。
compareTo、インタフェース: Comparable<Duration>otherDuration - 比較する他方のデュレーション、nullでないpublic boolean equals(Object otherDuration)
Durationとこのデュレーションが等しいかどうかをチェックします。
比較は、デュレーションの合計長ベースです。
equals、クラス: ObjectotherDuration - 他方のデュレーション、nullはfalseを返すObject.hashCode()、HashMappublic int hashCode()
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
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時間の倍数は日数として出力されません。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.