DartのDateTimeクラスプロパティについてメモ書き。
プロパティ一覧
DateTimeクラスのプロパティについて記載。
プロパティを組み合わせて日時の表示形式を設定する。
公式はこちら。
プロパティを取得するためのDateTImeクラスのコンストラクタはこちら。
プロパティ | 型 | 説明 |
---|---|---|
year | int | 年 |
month | int | 月 |
day | int | 日 |
hour | int | 時刻 |
minute | int | 分 |
second | int | 秒 |
millisecond | int | ミリ秒 |
microsecond | int | マイクロ秒 |
millisecondsSinceEpoch | int | 1970/1/1から指定日時までをミリ秒で取得 |
microsecondsSinceEpoch | int | 1970/1/1から指定日時までをマイクロ秒で取得 |
isUtc | bool | UTC(協定世界時)の場合はTrue |
timeZoneName | String | タイムゾーン名 |
timeZoneOffset | Duration | ローカルタイムとUTCの差分を取得 |
weekday | int | 曜日を数値で取得。月曜:1〜日曜:7 |
year、month等の日時プロパティはint型なので注意。例えば3月をmonthプロパティで表示する場合はMM形式の「03」ではなく「3」と表示される。
月をMM形式で取得したい場合は、String型に変更して桁数を指定する。こちらはmonthプロパティの章に記載しておく。
DateTimeクラスの「DateTime.now();」コンストラクタで現在時刻をインスタンス化し、各プロパティを確認していく。
final dateTime = DateTime.now();
以降確認はインスタンス変数dateTimeで行う。
print(dateTime);
2023-03-08 07:43:54.670549
year
yearプロパティを確認するため、以下を実行。
print(dateTime.year);
出力結果。
2023
month
monthプロパティを確認するため、以下を実行。
print(dateTime.month);
出力結果。
3
2桁固定のMM形式で取得したい場合はtoString()メソッドでString型に変更し、padLeft()メソッドでMM形式にする。
// padLeft()の第1引数に桁数、第2引数に左側に埋める"文字"を渡す
print(dateTime.month.toString().padLeft(2, "0"));
出力結果。
03
day
dayプロパティを確認するため、以下を実行。
print(dateTime.day);
出力結果。
8
hour
hourプロパティを確認するため、以下を実行。
print(dateTime.hour);
出力結果。
7
minute
minuteプロパティを確認するため、以下を実行。
print(dateTime.minute);
出力結果。
43
second
secondプロパティを確認するため、以下を実行。
print(dateTime.second);
出力結果。
54
millisecond
millisecondプロパティを確認するため、以下を実行。
print(dateTime.millisecond);
出力結果。
670
microsecond
microsecondプロパティを確認するため、以下を実行。
print(dateTime.microsecond);
出力結果。
549
microsecondsSinceEpoch
microsecondsSinceEpochプロパティを確認するため、以下を実行。
print(dateTime.microsecondsSinceEpoch);
出力結果。
1678229034670549
millisecondsSinceEpochも基本同じなので割愛。
isUtc
isUtcプロパティを確認するため、以下を実行。
print(dateTime.isUtc);
出力結果。コンストラクタでUTCを指定しない場合はローカルタイムなのでfalse。
false
timeZoneName
timeZoneNameプロパティを確認するため、以下を実行。
print(dateTime.timeZoneName);
出力結果。
JST
timeZoneOffset
timeZoneOffsetプロパティを確認するため、以下を実行。
print(dateTime.timeZoneOffset);
出力結果。
9:00:00.000000
weekday
weekdayプロパティを確認するため、以下を実行。
print(dateTime.weekday);
出力結果。
ちなみに2023/3/8は水曜日(月曜から数えて3番目)。
3
コメント