|
|||||
現在日時を取得する現在日時を取得する。Chronoクレートが必要になるので、Cargo.tomlに依存関係を追加する。 [dependencies] chrono = "0.4" 現在日時はLocal::now()で取得できる。now()からはDateTimeが得られるので、format()で日時をフォーマットできる。
use chrono::Local;
fn main() {
// 現在日時を取得する。
let dt = Local::now();
println!("{}", dt);
println!("{}", dt.format("%Y年%m月%d日 %H:%M:%S"));
}
2021-01-19 19:03:22.798315700 +09:00 2021年01月19日 19:03:22 ローカル時刻だけでなく、UTCもUtc::now()から取得できる。
use chrono::Utc;
fn main() {
// 現在日時(UTC)を取得する。
let dt = Utc::now();
println!("{}", dt);
println!("{}", dt.format("%Y年%m月%d日 %H:%M:%S"));
}
2021-01-19 10:04:22.979478300 UTC 2021年01月19日 10:04:22 UNIX時刻で良いならSystemTime::now()も使える。
use std::time::SystemTime;
fn main() {
// UNIX時刻を取得する。
println!("{:?}", SystemTime::now());
}
SystemTime { tv_sec: 1611050766, tv_nsec: 338082100 }
UNIXエポックからの経過秒数を取得したいなら、このようになるだろう。因みに、UNIX時刻はうるう秒を考慮していない(1970年1月1日 00:00:00から実際に経過した秒数とUNIX時刻は一致しない)。
println!("UNIX時刻: {}秒", SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs());
UNIX時刻: 1611050766秒 先述のDateTimeからもtimestamp()でUNIX時刻を得ることができる。
// ローカル時刻からUNIX時刻を取得する。
println!("From Local: {}秒", Local::now().timestamp());
// UTCからUNIX時刻を取得する。
println!("From Utc: {}秒", Utc::now().timestamp());
From Local: 1611050766秒 From Utc: 1611050766秒 (2021/01/20)
Copyright© 2004-2021 モバイル開発系(K) All rights reserved.
[Home]
|
|||||