将来または過去の日付を計算する

Rust:
将来または過去の日付を計算する

How to: (やり方)

use chrono::{Duration, Utc};

fn main() {
    let today = Utc::now();
    println!("Today: {}", today);

    let future_date = today + Duration::days(30);
    println!("Future date: {}", future_date);

    let past_date = today - Duration::days(30);
    println!("Past date: {}", past_date);
}

出力例:

Today: 2023-04-14T12:00:00Z
Future date: 2023-05-14T12:00:00Z
Past date: 2023-03-15T12:00:00Z

Deep Dive (掘り下げ)

昔はカレンダー計算が大変だった。だけど、コンピュータとライブラリの出現で簡単になった。Rustではchronoクレートが人気。代替としてtimeクレートもある。chronoはTimezoneにも対応していて、計算もIntuitive。内部的には、エポック(1970年1月1日)からの経過時間をベースに計算するよね。

See Also (関連情報)