Rust chrono给出了ParseError(NotEnough)

时间:2018-01-07 10:54:00

标签: datetime rust datetime-format rust-chrono

我正在尝试将日期时间字符串解析为DateTime对象,但是当我尝试这个时,我得到了这个ParseError。我不明白发生了什么,有人可以帮帮我吗?

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

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

1 个答案:

答案 0 :(得分:3)

此:

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