diff --git a/src/items/offset.rs b/src/items/offset.rs index c77ac08..ad2b359 100644 --- a/src/items/offset.rs +++ b/src/items/offset.rs @@ -338,6 +338,7 @@ fn timezone_name_to_offset(input: &str) -> ModalResult<(Offset, bool)> { "mez" => (false, 1, 0, true), "mesz" => (false, 2, 0, false), "mest" => (false, 2, 0, false), + "met" => (false, 1, 0, true), "mdt" => (true, 6, 0, false), "m" => (false, 12, 0, true), "l" => (false, 11, 0, true), @@ -347,6 +348,8 @@ fn timezone_name_to_offset(input: &str) -> ModalResult<(Offset, bool)> { "ist" => (false, 5, 30, true), "i" => (false, 9, 0, true), "hst" => (true, 10, 0, true), + "hast" => (true, 10, 0, true), + "hadt" => (true, 9, 0, false), "h" => (false, 8, 0, true), "gst" => (false, 10, 0, true), "gmt" => (false, 0, 0, true), diff --git a/tests/time.rs b/tests/time.rs index d9b0828..e7445fc 100644 --- a/tests/time.rs +++ b/tests/time.rs @@ -133,6 +133,7 @@ fn test_time_zone_names() { ("MEZ", "2026-01-10 09:00", Some("2026-01-10 08:00")), ("MESZ", "2026-01-10 08:00", None), ("MEST", "2026-01-10 08:00", None), + ("MET", "2026-01-10 09:00", Some("2026-01-10 08:00")), ("MDT", "2026-01-10 16:00", None), ("M", "2026-01-09 22:00", Some("2026-01-09 21:00")), ("L", "2026-01-09 23:00", Some("2026-01-09 22:00")), @@ -142,6 +143,8 @@ fn test_time_zone_names() { ("IST", "2026-01-10 04:30", Some("2026-01-10 03:30")), ("I", "2026-01-10 01:00", Some("2026-01-10 00:00")), ("HST", "2026-01-10 20:00", Some("2026-01-10 19:00")), + ("HAST", "2026-01-10 20:00", Some("2026-01-10 19:00")), + ("HADT", "2026-01-10 19:00", None), ("H", "2026-01-10 02:00", Some("2026-01-10 01:00")), ("GST", "2026-01-10 00:00", Some("2026-01-09 23:00")), ("GMT", "2026-01-10 10:00", Some("2026-01-10 09:00")),