2つの日付が同じ日付かどうかをチェックするには、DateTime
クラスを使用して日付を比較します。
目次
年・月・日が一致するか比較する
比較方法は単純に2つの年・月・日が同じかどうかをチェックして判定します。
以下は、簡単な例です。
void main() {
// 2つの日付を作成
DateTime date1 = DateTime(2023, 12, 27);
DateTime date2 = DateTime(2023, 12, 28);
// 同じ日付かどうかをチェック
bool isSameDate = areDatesEqual(date1, date2);
// 結果を表示
print("同じ日付かどうか: $isSameDate");
}
// 2つの日付が同じかどうかチェック
bool areDatesEqual(DateTime date1, DateTime date2) {
// 日付の年、月、日が一致しているかどうかを確認
return date1.year == date2.year && date1.month == date2.month && date1.day == date2.day;
}
この例では、areDatesEqual
関数が提供された2つの日付が同じ日付かどうかを確認します。
各日付の年、月、日が一致している場合にtrue
を返し、そうでない場合にはfalse
を返します。
年・月・日・時刻が一致するか比較する
時刻まで一致するか考慮する場合、isAtSameMomentAs
メソッドを使うと簡単に比較できます。
date1.isAtSameMomentAs(date2);
以下、簡単な例です。
void main() {
// 2つの日付を作成
DateTime date1 = DateTime(2023, 12, 27, 12, 0, 0); // 12:00:00 PM
DateTime date2 = DateTime(2023, 12, 27, 15, 30, 0); // 03:30:00 PM
// 同じ瞬間かどうかをチェック
bool isSameMoment = areMomentsEqual(date1, date2);
// 結果を表示
print("同じ瞬間かどうか: $isSameMoment");
}
bool areMomentsEqual(DateTime date1, DateTime date2) {
// 日付と時刻が一致しているかどうかを確認
return date1.isAtSameMomentAs(date2);
}
compareToメソッドを使った方法
compareTo
メソッドは年・月・日・時刻が一致した場合0を返します。
それを利用して次のように比較することもできます。
void main() {
// 2つの日付を作成
DateTime date1 = DateTime(2023, 12, 27, 12, 0, 0); // 12:00:00 PM
DateTime date2 = DateTime(2023, 12, 27, 15, 30, 0); // 03:30:00 PM
// 同じ日付かどうかをチェック
bool isSameDate = areDatesEqual(date1, date2);
// 結果を表示
print("同じ日付かどうか: $isSameDate");
}
bool areDatesEqual(DateTime date1, DateTime date2) {
// compareToメソッドを使用して比較
return date1.compareTo(date2) == 0;
}
Comment