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 如何借助第三方包来促进日期字符串解析为可操作的日期对象,使其成为涉及时间数据的软件开发中的强大工具。