Rust chrono 给出 ParseError(NotEnough) [重复]

Posted

技术标签:

【中文标题】Rust chrono 给出 ParseError(NotEnough) [重复]【英文标题】:Rust chrono gives ParseError(NotEnough) [duplicate] 【发布时间】:2018-06-16 14:42:25 【问题描述】:

我正在尝试将日期时间字符串解析为 DateTime 对象,但是当我尝试这个时,我得到了这个 ParseError。我不明白这是怎么回事,谁能帮帮我?

日期时间字符串:09-January-2018 12:00:00

代码:let date = DateTime::parse_from_str(date.trim(), "%d-%B-%Y %T");

【问题讨论】:

【参考方案1】:

这个:

extern crate chrono;
use chrono::DateTime;
use std::error::Error;

fn main() 
    println!(":?", DateTime::parse_from_str("09-January-2018 12:00:00", "%d-%B-%Y %T").unwrap_err().description());

(https://play.rust-lang.org/?gist=9c0231ea189c589009a46308864dd9bc&version=stable)

提供更多信息:

"input is not enough for unique date and time"

显然,DateTime 需要您未在输入中提供的时区信息。使用NaiveDateTime 应该可以工作:

extern crate chrono;
use chrono::NaiveDateTime;

fn main() 
    println!(":?", NaiveDateTime::parse_from_str("09-January-2018 12:00:00", "%d-%B-%Y %T"));

(https://play.rust-lang.org/?gist=1acbae616c7f084a748e4f9cfaf1ef7f&version=stable)

【讨论】:

以上是关于Rust chrono 给出 ParseError(NotEnough) [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Rust Chrono 解析日期字符串、ParseError(NotEnough) 和 ParseError(TooShort)

rust chrono Duration 如何获得年数或月数?

如何使用 Rust chrono 获得 1 天的持续时间?

c ++ chrono给出负纪元时间

用 std::chrono 计算持续时间在需要很长时间时给出 0 纳秒

Rust 实现简单区块链