过去两天我一直在用头撞time箱子。我找不到,在他们的文档中,如何获取RFC 3339 UTC 2022-12-28T02:11:46Z
时间戳并将其转换为America/New_York
的本地时间(2022-12-27T21:11:46
).我不再使用chrono
机箱,因为它有/曾经有一个漏洞,而且它没有像以前那样得到很好的维护。Chrono
也依赖于time
,但是在它的0.1.x
分支中。
My cargo.toml包括time = { version = "0.3", features = ["macros", "parsing", "local-offset"] }
行,因此启用我认为需要的功能。
use time::{format_description::well_known::Rfc3339, PrimitiveDateTime};
/// The paramater zulu would be a RFC3339 formatted string.
///
/// ```
/// #use time::{format_description::well_known::Rfc3339, PrimitiveDateTime};
/// assert_eq!("2022-12-27T21:11:46", date_time_local("2022-12-28T02:11:46Z".to_string()));
/// ```
fn date_time_local(zulu: &String) -> String {
match PrimitiveDateTime::parse(zulu, &Rfc3339) {
Ok(local) => local.to_string(),
Err(..) => zulu.to_owned(),
}
}
我在这儿可没这么走运。
1条答案
按热度按时间rsaldnfx1#
有一个轻微的变化,我删除了日期和时间之间的
T
。