やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Rust自習(日時 6 chrono)

 時差を求める。

成果物

コード

fn main() {
    let d1 = chrono::NaiveDateTime::parse_from_str("2019-07-01 00:00:00", "%Y-%m-%d %H:%M:%S").unwrap();
    let d2 = chrono::NaiveDateTime::parse_from_str("2019-07-01 01:30:00", "%Y-%m-%d %H:%M:%S").unwrap();
    println!("{}", d1);
    println!("{}", d2);

    let du: chrono::Duration = d1 - d2;
    println!("{}", du);
    println!("{:?}", du);
    println!("{}", du.num_seconds());
    println!("{}", du.num_minutes());
    println!("{}", du.num_hours());

    let d3 = d2 + chrono::Duration::minutes(30);
    println!("{}", d3);
}

実行結果

$ cargo run
...
2019-07-01 00:00:00
2019-07-01 01:30:00
-PT5400S
Duration { secs: -5400, nanos: 0 }
-5400
-90
-1
2019-07-01 02:00:00

 減算、加算ともにOK。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで