MENU

【Flutter】2つの日付が同じ日付かどうかチェックする方法

記事内に商品プロモーションが含まれる場合があります

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;
}

Flutterが学べる書籍

Share

Comment

コメントする

目次