Dart 日付が同じ日であるかを判定する

Dart 日付が同じ日であるかを判定する

Dartで、日付が同じ日であるかを判定するコードを記述してます。「isAtSameMomentAs」で2つの日付を比較することで可能です。時間が指定されていると時間も同じでなければ、同じ日であると判定されません。

環境

  • OS windows11 home
  • Dart 2.18.4

日付が同じ日であるかを判定

日付が同じ日であるかを判定するには、「isAtSameMomentAs」を使用します。

日付1.isAtSameMomentAs(日付2)

※日付1が日付2が同じであれば「true」が、そうでなければ「false」が返ります。
 時間を指定すると、同じ日付でも「false」が返ります。

実際に、判定してみます。

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

  print(dt1.isAtSameMomentAs(dt2)); // true
  print(dt1.isAtSameMomentAs(dt3)); // false
  print(dt1.isAtSameMomentAs(dt4)); // false
}

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

日時を指定

日時を指定すると日時まで同じでないと「true」にはなりません。

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

  print(dt1.isAtSameMomentAs(dt2)); // fasle
  print(dt1.isAtSameMomentAs(dt3)); // true
  print(dt1.isAtSameMomentAs(dt4)); // false
}