namespace GoogleSheetsScheduleImport; /// /// Formats times for the existing occurrence parser (see Core.Parsers.EventOccurrenceGrammar / TimePatterns). /// public static class TimeFormatter { public static string ToParserTimeString(TimeOnly time) { var h12 = time.Hour % 12; if (h12 == 0) h12 = 12; var minute = time.Minute; var isPm = time.Hour >= 12; var ap = isPm ? "p.m." : "a.m."; if (minute == 0) return $"{h12} {ap}"; return $"{h12}:{minute:D2} {ap}"; } public static string ToParserTimeRange(TimeOnly start, TimeOnly end) { if (start == end) return ToParserTimeString(start); return $"{ToParserTimeString(start)} - {ToParserTimeString(end)}"; } }