1. ホーム
  2. java

[解決済み] JavaにTimeSpanのようなクラスはあるのでしょうか?

2022-02-18 16:46:20

質問

でTimeSpanが必要なのか疑問に思っていました。 java.util この2つの時間の間に何時間、何分、何秒があるのかを定義できるようにします。

これより TimeSpan のように、2つの時間の間に時間間隔を持つことができます。

TimeSpan getTimeSpan( Date before, Date after ){...}

または

long timeSpan = System.currentTimeMillis();
// ... long job
timeSpan = System.currentTimeMillis() - timeSpan;

TimeSpan ts = new TimeSpan(timeSpan);

で、これを TimeSpan で使用することができます。 SimpleDateFormat .

SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
format.format( timsSpan );

これは、Javaですでに実装されているかどうかは分かりませんが、私はまだ発見していません。

どのように解決するのですか?

JDK8ではSDKの日付時間ライブラリが充実しており

Duration または Period

Interval をJodaTimeから実行します。

<ブロッククオート

時間間隔とは の間にある時間です。インターバル は、開始インスタンスを含み、かつ 終了を除く。終了の瞬間 は常に スタートインスタント

インターバルは固定されたミリ秒の の持続時間です。この差分が 開始と終了のインスタントの間にある。 継続時間は別途 をReadableDurationで指定します。その結果 の間隔は比較できない。そのため 2つのインターバルの長さを比較します。 は、その持続時間を比較する必要があります。

インターバルは、次のように変換することもできます。 ReadablePeriodです。これは 開始と終了の差 のようなフィールドの点で 年や日など。

Intervalはスレッドセーフでイミュータブルです。