Skip to content

Commit 8ec7bbb

Browse files
committed
epoch timezone fix
1 parent 96d8c7c commit 8ec7bbb

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/lib.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,7 @@ pub fn parse_datetime_at_date<S: AsRef<str> + Clone>(
200200
// Parse epoch seconds
201201
if let Ok(timestamp) = parse_timestamp(s.as_ref()) {
202202
if let Some(timestamp_date) = NaiveDateTime::from_timestamp_opt(timestamp, 0) {
203-
if let Ok(dt) = naive_dt_to_fixed_offset(date, timestamp_date) {
204-
return Ok(dt);
205-
}
203+
return Ok(date.offset().from_utc_datetime(&timestamp_date));
206204
}
207205
}
208206

@@ -319,6 +317,14 @@ mod tests {
319317
let actual = parse_datetime(dt);
320318
assert_eq!(actual.unwrap().timestamp(), TEST_TIME);
321319
}
320+
321+
#[test]
322+
fn test_epoch_seconds_non_utc() {
323+
env::set_var("TZ", "EST");
324+
let dt = "@1613371067";
325+
let actual = parse_datetime(dt);
326+
assert_eq!(actual.unwrap().timestamp(), TEST_TIME);
327+
}
322328
}
323329

324330
#[cfg(test)]

0 commit comments

Comments
 (0)