diff --git a/api/src/templates.rs b/api/src/templates.rs index c2dad4f..3ac7b6c 100644 --- a/api/src/templates.rs +++ b/api/src/templates.rs @@ -1,3 +1,4 @@ +use chrono_tz::America::New_York; use libseptastic::{direction::Direction, stop_schedule::{Trip, TripTracking}}; use std::{cmp::Ordering, collections::BTreeMap}; use serde::{Serialize}; @@ -62,7 +63,8 @@ pub fn build_timetables( let mut results = Vec::new(); for direction in directions { - let now = chrono::Local::now(); + let now_utc = chrono::Utc::now(); + let now = now_utc.with_timezone(&New_York); let naive_time = now.time(); let seconds_since_midnight = naive_time.num_seconds_from_midnight(); @@ -167,10 +169,12 @@ mod filters { let total_minutes = seconds_since_midnight / 60; let (hours, ampm) = { let hrs = total_minutes / 60; - if hrs > 12 { + if hrs >= 12 { (hrs - 12, "PM") - } else { + } else if hrs > 0 { (hrs, "AM") + } else { + (12, "AM") } }; let minutes = total_minutes % 60;