Dart 日付が未来の日付であるかを判定する

Dart 日付が未来の日付であるかを判定する

Dartで、日付が未来の日付であるかを判定するコードを記述してます。「isAfter」で2つの日付を比較することで可能です。同じ日付の場合は、未来でないので「false」が返ります。

環境

  • OS windows11 home
  • Dart 2.18.4

未来の日付であるかを判定

未来の日付であるかを判定するには、「isAfter」を使用します。

日付1.isAfter(日付2)

※日付1が日付2より未来であれば「true」が、そうでなければ「false」が返ります。同じ日付の場合は「false」になります

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

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

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

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

過去の日付であるかを判定

逆に、過去の日付であるかを判定するには、「isBefore」を使用します。

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

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

同じ日付であるかを判定

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

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

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