Browse Source

ics: fix Utc to Local timezone conversion

master
Astro 2 months ago
parent
commit
853656208d
  1. 7
      libticker/src/ics/mod.rs

7
libticker/src/ics/mod.rs

@ -1,7 +1,7 @@
use std::collections::{HashMap, HashSet};
use std::fmt::Write;
use std::str::FromStr;
use chrono::{DateTime, NaiveDate, NaiveDateTime, Utc};
use chrono::{DateTime, NaiveDate, NaiveDateTime, Local, Utc};
mod tokenizer;
mod parser;
@ -94,7 +94,10 @@ impl FromStr for Timestamp {
fn from_str(s: &'_ str) -> Result<Self, Self::Err> {
NaiveDateTime::parse_from_str(s, "%Y%m%dT%H%M%SZ")
.map(|time| DateTime::<Utc>::from_utc(time, Utc).naive_local())
.map(|time| DateTime::<Utc>::from_utc(time, Utc)
.with_timezone(&Local)
.naive_local()
)
.or_else(|_| NaiveDateTime::parse_from_str(s, "%Y%m%dT%H%M%S"))
.map(Timestamp::DateTime)
.or_else(|_|

Loading…
Cancel
Save