从字符串解析日期

Rust:
从字符串解析日期

如何操作:

使用 Rust 的标准库(chrono 包)

Rust 标准库不直接包含日期解析,但广泛使用的 chrono 包是一个健壮的日期和时间处理解决方案。首先,在你的 Cargo.toml 中添加 chrono

[dependencies]
chrono = "0.4"

然后,使用 chrono 将日期字符串解析为 NaiveDate 对象:

extern crate chrono;
use chrono::NaiveDate;

fn main() {
    let date_str = "2023-04-01";
    let date = NaiveDate::parse_from_str(date_str, "%Y-%m-%d")
        .expect("解析日期失败");

    println!("解析后的日期:{}", date);
}

// 示例输出:
// 解析后的日期:2023-04-01

使用 Rust 的高级日期时间处理(time 包)

对于更高级的日期时间处理,包括更符合人体工学的解析,请考虑使用 time 包。首先,将其包含在你的 Cargo.toml 中:

[dependencies]
time = "0.3"

然后,使用 Date 类型和 PrimitiveDateTime 解析日期字符串:

use time::{Date, PrimitiveDateTime, macros::datetime};

fn main() {
    let date_str = "2023-04-01 12:34:56";
    let parsed_date = PrimitiveDateTime::parse(
        date_str, 
        &datetime!("%Y-%m-%d %H:%M:%S")
    ).expect("解析日期时间失败");

    println!("解析后的日期时间:{}", parsed_date);
}

// 示例输出:
// 解析后的日期时间:2023-04-01 12:34:56

这两个示例展示了 Rust 如何借助第三方包来促进日期字符串解析为可操作的日期对象,使其成为涉及时间数据的软件开发中的强大工具。