diff options
author | gennyble <gen@nyble.dev> | 2024-12-18 04:31:03 -0600 |
---|---|---|
committer | gennyble <gen@nyble.dev> | 2024-12-18 04:31:03 -0600 |
commit | d994eda887829c0b4e4c9f315cd9ff1320ddc4a9 (patch) | |
tree | b74c4435cea0c82f6b1de5f2154cfa9f01aa6b85 | |
parent | ac4b97aaa1bf246d369952e502df9d9dd7bbd466 (diff) | |
download | awake-d994eda887829c0b4e4c9f315cd9ff1320ddc4a9.tar.gz awake-d994eda887829c0b4e4c9f315cd9ff1320ddc4a9.zip |
Parses 12-hour time correctly
-rwxr-xr-x | src/timeparse.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/timeparse.rs b/src/timeparse.rs index 830253b..5df731e 100755 --- a/src/timeparse.rs +++ b/src/timeparse.rs @@ -8,7 +8,9 @@ use time::{ const FMT: &[FormatItem<'_>] = format_description!("[year]-[month]-[day] [hour]:[minute]"); const DATE: &[FormatItem<'_>] = format_description!("[year]-[month]-[day]"); -const TIME: &[FormatItem<'_>] = format_description!("[hour]:[minute]"); +const TIME_24HOUR: &[FormatItem<'_>] = format_description!("[hour padding:zero]:[minute]"); +const TIME_12HOUR: &[FormatItem<'_>] = + format_description!("[hour padding:none]:[minute][period case:lower case_sensitive:false]"); #[allow(unused)] const OFFSET: &[FormatItem<'_>] = @@ -85,7 +87,10 @@ fn parse_offset(raw: &str) -> UtcOffset { } fn parse_time(raw: &str) -> Result<Time, time::error::Parse> { - Time::parse(raw, TIME) + match Time::parse(raw, TIME_24HOUR) { + Err(_e) => Time::parse(raw, TIME_12HOUR), + Ok(t) => Ok(t), + } } fn parse_date(raw: &str) -> Result<Date, time::error::Parse> { |