世界最大級のオンライン学習サービス「Udemy」のセール状況はこちら

【Flutter/Dart】DateTimeの時刻・日付を比較する

この記事はこんな人におすすめ!
  • FlutterにおけるDateTimeの時刻・日付を比較したい

「Flutterで2つのDateTimeの時刻・日付を比較するにはどうするの?」

今回はDateTimeの値を比較する方法をいくつか解説していきます。

目次

compareTo

compareToメソッドではDateTimeの日付・時刻を比較し結果を返します。

メソッドを呼び出した値が比較する値よりも前の場合は「-1」、後の場合は「1」、同じ場合は「0」を返します。

void main() {
  var dt1 = DateTime.parse('2023-01-01 00:00:00');
  var dt2 = DateTime.parse('2024-02-02 00:00:00');

  print(dt1.compareTo(dt2)); //-1
  print(dt2.compareTo(dt1)); //1
  print(dt1.compareTo(dt1)); //0
}

isAtSameMomentAs

isAtSameMomentAsメソッドではDateTimeの日付・時刻を比較し同値であるか判断します。

比較する値が同じ場合は「true」、異なる場合は「false」を返します。

void main() {
  var dt1 = DateTime.parse('2023-01-01 00:00:00');
  var dt2 = DateTime.parse('2024-02-02 00:00:00');

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

isAfter

isAfterメソッドではメソッドを呼び出した値の日付が引数の値よりも後であるか判断します。

メソッドを呼び出した値が比較する値より前の場合は「false」、後の場合は「true」、同じ場合は「false」を返しま

void main() {
  var dt1 = DateTime.parse('2023-01-01 00:00:00');
  var dt2 = DateTime.parse('2024-02-02 00:00:00');

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

isBefore

isBeforeメソッドではメソッドを呼び出した値の日付が引数の値よりも前であるか判断します。

メソッドを呼び出した値が比較する値より前の場合は「true」、後の場合は「false」、同じ場合は「false」を返しま

void main() {
  var dt1 = DateTime.parse('2023-01-01 00:00:00');
  var dt2 = DateTime.parse('2024-02-02 00:00:00');

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

参考サイト

目次