timezone correction

This commit is contained in:
Shautvast 2026-02-17 20:52:15 +01:00
parent fe396a394b
commit 904f89f1b4
3 changed files with 8 additions and 3 deletions

1
Cargo.lock generated
View file

@ -522,6 +522,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
name = "hello-ratatui"
version = "0.1.0"
dependencies = [
"chrono",
"crossterm",
"imap",
"native-tls",

View file

@ -10,4 +10,4 @@ imap = "2.4"
native-tls = "0.2"
serde = { version = "1.0", features = ["derive"] }
toml = "1.0"
regex = "1.12"
chrono = "0.4"

View file

@ -1,4 +1,4 @@
use regex::Regex;
use chrono::{DateTime, FixedOffset, Local};
use crate::config::Config;
use crate::connect::ImapSession;
use crate::{connect, Email};
@ -77,7 +77,11 @@ fn parse_emails(fetches: &[imap::types::Fetch]) -> Vec<Email> {
} else if let Some(val) = line.strip_prefix("From: ") {
from = val.to_string();
} else if let Some(val) = line.strip_prefix("Date: ") {
date = Regex::new(r#" \(...\)$"#).unwrap().replace_all(val, "").to_string();
date = DateTime::parse_from_rfc2822(val)
.map(|dt: DateTime<FixedOffset>| {
dt.with_timezone(&Local).format("%Y-%m-%d %H:%M").to_string()
})
.unwrap_or_else(|_| val.to_string());
}
}