使用 chrono create 。
use chrono::{Datelike, Duration, Local, TimeZone, Timelike};
fn main() {
let fmt = "%Y年%m月%d日 %H:%M:%S";
let now = Local::now().format(fmt);
println!("{}", now);
let mut parse = Local
.datetime_from_str("2022年3月19日 13:30:59", fmt)
.unwrap();
println!("{:?}", parse);
println!(
"{}-{}-{} {}:{}:{}",
parse.year(),
parse.month(),
parse.day(),
parse.hour(),
parse.minute(),
parse.second()
);
println!("{}", parse.date());
parse = Local.ymd(2012, 12, 12).and_hms(12, 12, 12);
println!("{}", parse);
parse = parse + Duration::days(2);
println!("{}", parse);
parse = parse + Duration::hours(2);
println!("{}", parse);
parse = parse + Duration::minutes(2);
println!("{}", parse);
parse = parse + Duration::seconds(2);
println!("{}", parse);
}
输出:
2022年03月11日 13:36:57
2022-03-19T13:30:59+08:00
2022-3-19 13:30:59
2022-03-19+08:00
2012-12-12 12:12:12 +08:00
2012-12-14 12:12:12 +08:00
2012-12-14 14:12:12 +08:00
2012-12-14 14:14:12 +08:00
2012-12-14 14:14:14 +08:00
fmt 作为 格式化字符串,可自定义调整位置,分隔符……
更多使用方法, 见 chrono , Rust 文档 。