about summary refs log tree commit diff
path: root/src/timeparse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/timeparse.rs')
-rwxr-xr-xsrc/timeparse.rs13
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))