Exercise 1 solution from datetime import datetime, timezone from zoneinfo import ZoneInfo ny = ZoneInfo("America/New_York") for day in range(7, 11): wall = datetime(2026, 3, day, 2, 30, tzinfo=ny) utc = wall.astimezone(timezone.utc) real = utc.astimezone(ny) flag = "" if real.replace(tzinfo=None) == wall.replace(tzinfo=None) else " <-- does not exist" print(f"{wall:%d %b %H:%M} -> UTC {utc:%d %H:%M} -> back {real:%d %b %H:%M %Z}{flag}") Output (run, and exactly as shown): 07 Mar 02:30 -> UTC 07 07:30 -> back 07 Mar 02:30 EST 08 Mar 02:30 -> UTC 08 07:30 -> back 08 Mar 03:30 EDT <-- does not exist 09 Mar 02:30 -> UTC 09 06:30 -> back 09 Mar 02:30 EDT 10 Mar 02:30 -> UTC 10 06:30 -> back 10 Mar 02:30 EDT Explanation: only 8 March fails the round trip. The clocks jump from 02:00 straight to 03:00 that morning, so 02:30 never appears on any clock. Python does not raise an error: it silently picks an offset and builds an object, and the round trip through UTC reveals the true reading (03:30). Note that the UTC times are one hour apart on 7 and 8 March but the wall times are 24 hours apart: the offset changed from -5 to -4 between those days.