rust - 如何在 Rust 中将 SystemTime 转换为 ISO 8601?
问题描述
我有一个SystemTime
变量,我想从那个日期获取 ISO 8601 格式。
解决方案
chrono包是完成这里工作的正确工具。 SystemTime
可能是也可能不是 UTC,chrono 会处理许多烦人的小细节。
use chrono::prelude::{DateTime, Utc};
fn iso8601(st: &std::time::SystemTime) -> String {
let dt: DateTime<Utc> = st.clone().into();
format!("{}", dt.format("%+"))
// formats like "2001-07-08T00:34:60.026490+09:30"
}
要以不同方式自定义格式,请参阅chrono::format::strftime
文档。