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