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

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

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

時刻と時刻の差分をDuration型で返す。
Duration型とは期間を表すクラス。”inDays”、”inHours”等プロパティが使える。
簡単なコードを書いて確認。

void main() {
  // 現在時刻
  final now = DateTime.now();
  // 2023-03-16
  final day20230316 = DateTime.parse('2023-03-16');
  // 現在時刻を出力
  print(now);
  // 2023-03-16を出力
  print(day20230316);
  // ①現在時刻と2023-03-16の差分を出力
  print(now.difference(day20230316));
  // ②差分を日で出力
  print(now.difference(day20230316).inDays);
  // ③差分を時間で出力
  print(now.difference(day20230316).inHours);
  // ④差分を分で出力
  print(now.difference(day20230316).inMinutes);
  // ⑤差分を秒で出力
  print(now.difference(day20230316).inSeconds);
  // ⑥過去の日付をベースに差分を秒で出力
  print(day20230316.difference(now).inSeconds);
}

以下1行目の現在時刻(2023年3月17日)と2行目の過去日付(2023年3月16日)で比較。

2023-03-17 22:23:52.591120
2023-03-16 00:00:00.000

①現在時刻と2023年3月16日の差分を出力。
「print(now.difference(day20230316));」の実行結果。

46:23:52.591120

②差分を”日”で出力。
「print(now.difference(day20230316).inDays);」の実行結果。

1

③差分を”時間”で出力。
「print(now.difference(day20230316).inHours);」の実行結果。

46

④差分を”分”で出力。
「print(now.difference(day20230316).inMinutes);」の実行結果。

2783

⑤差分を”秒”で出力。
「print(now.difference(day20230316).inSeconds);」の実行結果。

167032

⑥過去の日付をベースに差分を”秒”で出力。「過去日付 – 現在時刻」になるのでマイナスになる。
「print(day20230316.difference(now).inSeconds);」の実行結果。

-167032

コメント

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