gpt4 book ai didi

datetime - BadFormat 在使用 Chrono 时将字符串解析为最新

转载 作者:行者123 更新时间:2023-11-29 08:27:12 25 4
gpt4 key购买 nike

我正在尝试使用 Chrono 库将字符串转换为日期。我总是收到 BadFormatNotEnough 错误:

extern crate chrono;

use chrono::prelude::*;

fn main() {
let dt1 = DateTime::parse_from_str(
"2017-08-30 18:34:06.638997932 UTC",
"%Y-%m-%d %H:%M:%S.%9f"
);
println!("{:?}", dt1);
}

我不确定我做错了什么。

最佳答案

  1. 如评论中所述,您的格式字符串不允许字符串的 "UTC" 部分。这就是您收到 BadFormat 错误的原因。

  2. 如果您将 "UTC" 添加到格式字符串中,您仍然会收到 BadFormat 错误,因为您键入了 .%9f 当它应该是 %.9f.

  3. 修复该问题后,您会收到 NotEnough 错误,因为我们实际上并未解析时区。

我会使用 NaiveDateTime 始终以 UTC 格式进行解析,然后将 "UTC" 添加到格式字符串中以忽略它,更正拼写错误:

use chrono::prelude::*; // 0.4.9

fn main() {
let dt1 = NaiveDateTime::parse_from_str(
"2017-08-30 18:34:06.638997932 UTC",
"%Y-%m-%d %H:%M:%S%.9f UTC",
);

println!("{:?}", dt1); // Ok(2017-08-30T18:34:06.638997932)
}

关于datetime - BadFormat 在使用 Chrono 时将字符串解析为最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45967902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com