Dart DateTimeクラスisAtSameMomentAs()メソッド

Dar言語StreamクラスtoSet()メソッドDart

Dart DateTimeクラスisAtSameMomentAs()メソッドについてメモ書き。

DateTimeクラスのインスタンス変数を比較し、同じ時刻であればbool型のtrueを返す。
比較はUTC、ローカルタイムゾーン関係なしに行われる。

コーディングしてみる。

void main() {
  // 現在時刻のDateTimeインスタンスを生成
  final current1 = DateTime.now();
  // 現在時刻のDateTimeインスタンスをUTCに変換
  final currentUTC = current1.toUtc();
  // 同じ時刻のインスタンス変数を生成
  final current2 = current1;
  // 1マイクロ秒進んだインスタンス変数を生成
  final after = current1.add(Duration(microseconds: 1));
  // 同じ時刻で比較
  print(current1);
  print(current2);
  print(current2.isAtSameMomentAs(current1));
  // 1マイクロ秒進んだ時刻で比較
  print(after);
  print(after.isAtSameMomentAs(current1));
  // UTCで比較
  print(currentUTC);
  print(currentUTC.isAtSameMomentAs(current1));
}

実行結果。
1行目と2行目は同じ時刻。同じ時刻を比較しているのでtrueを返す。
4行目は1マイクロ秒進んだ時刻。falseを返す。
6行目は同時刻のUTC。trueを返す。

2023-03-15 07:54:04.766513
2023-03-15 07:54:04.766513
true
2023-03-15 07:54:04.766514
false
2023-03-14 22:54:04.766513Z
true

コメント

タイトルとURLをコピーしました