1. ホーム
  2. java

[解決済み] 2つのJava日付インスタンスの差分を計算する

2022-03-21 08:07:29

質問

私は、Javaの java.util.Date クラスをScalaで比較したい。 Date オブジェクトと現在時刻を比較します。getTime()を使えば、差分を計算できることは知っています。

(new java.util.Date()).getTime() - oldDate.getTime()

しかし、これではただ long はミリ秒を表します。もっとシンプルで素敵な時間差の取得方法はないのでしょうか?

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

JDKの Date APIは残念ながら恐ろしく壊れています。 私は Joda Time ライブラリ .

Joda Timeは時間という概念を持つ インターバル :

Interval interval = new Interval(oldTime, new Instant());

編集部:ところで、Jodaには2つのコンセプトがあります。 Interval は、2つの時間インスタントの間の時間間隔を表す(午前8時から午前10時の間の時間を表す)ため、そして Duration 実際の時間の境界線なしに時間の長さを表す (たとえば、2時間を表す!)

時間の比較だけを考えるのであれば、ほとんどの Date の実装(JDKのものも含む)は Comparable インターフェイスを使用することで Comparable.compareTo()