この記事はこんな人におすすめ!
- 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
}
