モジュール java.base
パッケージ java.time

クラスDuration

java.lang.Object
java.time.Duration
すべての実装されたインタフェース:
Serializable, Comparable<Duration>, TemporalAmount

public final class Duration extends Object implements TemporalAmount, Comparable<Duration>, Serializable
時間ベースの時間(「34.5秒」など)。

このクラスは、秒とナノ秒に基づいて時間量をモデル化します。 他のデュレーション・ベース単位(分や時など)を使用してアクセスできます。 DAYS単位も使用できます。これは、24時間と完全に同等として扱われ、サマー・タイムの影響は無視されます。 このクラスの日付ベースで同等のものについては、Periodを参照してください。

物理デュレーションは無限の長さにできます。 実用性のために、デュレーションはInstantと同様の制約で保存されます。 デュレーションはナノ秒分解能を使用し、最大値はlongで保持できる秒です。 これは、宇宙の現在の推定年齢よりも大きいです。

デュレーションの範囲には、longよりも大きな数値の保存が必要です。 これを実現するために、このクラスは秒を表すlongと、「1秒のうちのナノ秒」を表すint(常に0と999,999,999の間になる)を保存します。 モデルは有向デュレーションなので、デュレーションは負も可能です。

デュレーションは秒単位で測定されますが、原子時計に基づく科学的「SI秒」定義と同じとは限りません。 この違いはうるう秒付近で測定されるデュレーションにのみ影響し、ほとんどのアプリケーションには影響しないはずです。 秒とタイム・スケールの意味についてはInstantを参照してください。

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。

実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目: