簡體   English   中英

Rust chrono::NaiveTime::parse_from_str() 無法解析 PM

[英]Rust chrono::NaiveTime::parse_from_str() fails to parse PM

使用 Rust chrono::NaiveTime::parse_from_str() 解析字符串時,似乎解析 AM 有效,但 PM 無效(返回 ParseErrorKind::Impossible)。 以下失敗是否有原因?

第一個示例time_am是一個正確解析的帶有 AM 的時間字符串。

第二個示例time_pm是一個帶有無法解析的 PM 的時間字符串。

fn main() {
    let time_am = chrono::NaiveTime::parse_from_str("08:30 AM", "%H:%M %p");
    println!(
        "time_am: {}",
        match time_am {
            Ok(time) => time.to_string(),
            Err(error) => error.to_string(),
        }
    );

    let time_pm = chrono::NaiveTime::parse_from_str("08:30 PM", "%H:%M %p");
    println!(
        "time_pm: {}",
        match time_pm {
            Ok(time) => time.to_string(),
            Err(error) => error.to_string(),
        }
    );
}

結果:

time_am: 08:30:00
time_pm: no possible date and time matching input

該錯誤字符串對應於mod.rs中的以下行:

ParseErrorKind::Impossible => write!(f, "no possible date and time matching input"),

在發布問題后不久,我自己找到了答案。 問題是%H的使用對應於 24 小時制。 我需要使用%I 12 小時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM