Dart 日時の差分を取得する

Dart 日時の差分を取得する

Dartで、日時の差分を取得するコードを記述してます。「difference」で2つの日時を指定することで可能です。同じ日時の場合は、差分がないので「0」が返ります。

環境

  • OS windows11 home
  • Dart 2.18.4

日時の差分を取得

日時の差分を取得するには、「difference」を使用します。

日時1.difference(日時2)

※日時2 - 日時1で計算されます。日付2が日付1よりも過去の場合は結果は「-(マイナス)」となります。

実際に、取得してみます。

void main() {
  var dt1 = DateTime(2022, 12, 10, 10, 10);
  var dt2 = DateTime(2022, 12, 10, 9, 10);
  var dt3 = DateTime(2022, 12, 10, 10);
  var dt4 = DateTime(2022, 12, 11, 11, 10);

  print(dt1.difference(dt2)); // 1:00:00.000000
  print(dt1.difference(dt3)); // 0:10:00.000000
  print(dt1.difference(dt4)); // -25:00:00.000000
}

実行結果を見ると、取得されていることが確認できます。

単位を指定して取得

単位を指定して取得するには、日単位であれば「inDays」などを使用します。

void main() {
  var dt1 = DateTime(2022, 12, 10, 10, 10);
  var dt2 = DateTime(2022, 11, 10, 10, 10);

  print(dt1.difference(dt2).inDays); // 30
  print(dt1.difference(dt2).inHours); // 720
  print(dt1.difference(dt2).inMinutes); // 43200
  print(dt1.difference(dt2).inSeconds); // 2592000
}