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

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

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

DateTimeクラスのインスタンスを比較するメソッド。
比較対象により以下int型を返す。
 未来:-1
 過去:1
 同じ時刻:0

簡単なコードで確認。

void main() {
  // 現在時刻のDateTimeインスタンスを生成
  final current1 = DateTime.now();
  // 現在時刻のDateTimeインスタンスをUTCに変換
  final currentUTC = current1.toUtc();
  // 同じ時刻のインスタンス変数を代入
  final current2 = current1;
  // 1マイクロ秒未来のインスタンス変数を生成
  final after = current1.add(Duration(microseconds: 1));
  // 1マイクロ秒過去のインスタンス変数を生成
  final before = current1.subtract(Duration(microseconds: 1));

  // ①同じ時刻で比較
  print(current1);
  print(current2);
  print(current1.compareTo(current2));
  // ②1マイクロ秒未来の時刻で比較
  print(after);
  print(current1.compareTo(after));
  // ③1マイクロ秒過去の時刻で比較
  print(before);
  print(current1.compareTo(before));
  // ④UTCで比較
  print(currentUTC);
  print(current1.compareTo(currentUTC));
}

①同じ時刻で比較した結果。
0を返す。

2023-03-15 21:53:36.141100
2023-03-15 21:53:36.141100
0

②1マイクロ秒未来の時刻と比較した結果。
-1を返す。

2023-03-15 21:53:36.141101
-1

③1マイクロ秒過去の時刻と比較した結果。
1を返す。

2023-03-15 21:53:36.141099
1

④UTCで比較した結果。
ローカル、UTC関係なく0を返す。

2023-03-15 12:53:36.141100Z
0

コメント

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