diff options
Diffstat (limited to 'src/timeparse.rs')
-rwxr-xr-x | src/timeparse.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/timeparse.rs b/src/timeparse.rs index 5df731e..4d5f63f 100755 --- a/src/timeparse.rs +++ b/src/timeparse.rs @@ -119,9 +119,18 @@ pub fn parse(raw: &str) -> Result<OffsetDateTime, time::error::Parse> { Some(raw) => parse_time(raw)?, }; + let calculated_offset = us_dst_central_offset(PrimitiveDateTime::new(date, time)); let offset = match splits.next() { - None => us_dst_central_offset(PrimitiveDateTime::new(date, time)), - Some(raw) => parse_offset(raw), + None => calculated_offset, + Some(raw) => { + let offset = parse_offset(raw); + if offset != calculated_offset { + //FIXME: gen 2024-12; warn here but format it rightly. + () + } + + offset + } }; Ok(OffsetDateTime::new_in_offset(date, time, offset)) |