Dart DateTimeクラスのコンストラクタ

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

DartでDateTimeクラスを扱う時のコンストラクタについて調べたのでメモ書き。

概要

DateTimeクラスはコンストラクタが複数用意されている。
公式サイトはこちら

DateTime()

先ずはDateTimeのデフォルトコンストラクタ。ローカルタイムゾーンで時刻が設定される。
引数は以下の通り。第1引数の年は必須、残りはオプション引数。

引数必須/オプション説明
第1引数必須int
第2引数オプションint月。デフォルト1
第3引数オプションint日。デフォルト1
第4引数オプションint時。デフォルト0
第5引数オプションint分。デフォルト0
第6引数オプションint秒。デフォルト0
第7引数オプションintミリ秒。デフォルト0
第8引数オプションintマイクロ秒。デフォルト0

「print(DateTime(2023, 1));」で値を確認。

2023-01-01 00:00:00.000

DateTime.now()

現在時刻をローカルタイムゾーンで設定する。
「print(DateTime.now());」で値を確認。

2023-03-06 22:24:20.715592

DateTime.utc()

指定した時刻をUTC(協定世界時)で設定。
引数はDateTime()と同じ。

「print(DateTime.utc(2023, 1));」を実行。
末尾にUTCを表す「Z」が付与される。

2023-01-01 00:00:00.000Z

DateTime.fromMicrosecondsSinceEpoch()

DateTime.fromMicrosecondsSinceEpoch()は1970/01/01を起点とした経過時間をマイクロ秒で引数に渡す。

「print(DateTime.fromMicrosecondsSinceEpoch(0));」を実行し、起点を確認。

1970-01-01 09:00:00.000

ローカルタイムゾーンで値が返される。

「print(DateTime.now().microsecondsSinceEpoch);」で1970/01/01から現在までの経過時間をマイクロ秒で取得する。

1678142736098327


上記の結果を元に「print(DateTime.fromMicrosecondsSinceEpoch(1678142736098327));」を実行。実行時刻をマイクロ秒レベルで確認できる。

2023-03-07 07:45:36.098327

DateTime.fromMillisecondsSinceEpoch()

基本的にはDateTime.fromMicrosecondsSinceEpoch()と同じ。こちらはミリ秒単位で取得できる。

「print(DateTime.now().millisecondsSinceEpoch);」で1970/01/01から現在までの経過時間をミリ秒で取得する。

1678143277169

「print(DateTime.fromMillisecondsSinceEpoch(1678143277169));」を実行。実行時刻をミリ秒レベルで確認できる。

2023-03-07 07:54:37.169

コメント

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