構造体に時間を入れて、取り出す際には”2025-02-15 05:49:42″など秒までで使いたい。
RustでDatetimeを使用すると、2025-02-15T05:49:42.648829007Zというような値になる。
datetimeをString型に変えて[0..19]で切り抜いて使おうかと思ったが、、、、formatを使えば、自由に取り出せることができる。
#[derive(Debug)] struct TimeS { time: DateTime<Utc>, } fn main() { let utc_datetime: DateTime<Utc> = Utc::now(); let t: String = utc_datetime.to_string(); println!("{}", &t[0..19]); let t = TimeS { time: utc_datetime}; println!("{:?}", t); println!("{}", t.time.format("%Y年%m月%d日 %H時%M分%S秒 %Z")); }
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.55s
Running `target/debug/app`
2025-02-15 05:49:42
TimeS { time: 2025-02-15T05:49:42.648829007Z }
2025年02月15日 05時49分42秒 UTC
こう考えると、timeはString型ではなくDateTime