Time In The East Coast Where The Sun Never Seems To Set
I first ran into this when someone on a Slack channel asked why their scheduled jobs were firing at 2 AM instead of 9 AM. That was back in 2019. It turned out they had no clear idea about how Eastern Time actually breaks down across daylight saving transitions and how some tools silently default to UTC offsets without telling you. The East Coast of the United States sits primarily in the Eastern Time Zone, which is UTC-5 during standard time and UTC-4 during daylight saving time. The phrase "where the sun never seems to set" is a casual reference to the long summer daylight hours up there. Places like Maine and parts of New Hampshire get sunlight past 9 PM in June. It has nothing to do with actual polar day phenomena, but people sometimes use the expression loosely when talking about the extended evening light. When I say "Time In The East Coast Where The Sun Never Seems To Set" in a practical sense, I mean working with schedules, deadlines, and time zone conversions that respect the actual local clock on the East Coast — including the DST shift that happens on the second Sunday in March and the return in early November.
How to Get It Right
First, stop using naive integer offsets like UTC-5 hardcoded into your scripts. Use the America/New_York timezone identifier. That single change eliminates about eighty percent of the bugs I see in production. Here is how I set it up in Python: pip install pytz Then in your code, use pytz.timezone("America/New_York") or, if you are on Python 3.9+, the built-in zoneinfo module works just as well and doesn't require an extra dependency. Convert your datetime objects explicitly with .astimezone() rather than doing arithmetic by hand.
For scheduling tools like cron, Airflow, or GitHub Actions, set the TZ environment variable to America/New_York at the workflow or project level. If you are running something like a Django app, make sure USE_TZ is True and TIME_ZONE is set to "America/New_York" in your settings. I have seen projects where the dev environment ran on UTC and the prod environment ran on ET, which caused off-by-one-day bugs during the DST transition period that took three days to track down. A common pitfall is the spring-forward gap. On the day DST starts, the clock jumps from 2:00 AM to 3:00 AM. Any scheduled task set for 2:30 AM simply does not execute that morning. In the fall, the clock falls back, so 1:30 AM occurs twice. If your job runs every hour, you will get a duplicate run unless you tell the scheduler to handle non-existent or ambiguous times explicitly. Airflow lets you set catchup=False and ambiguous="Naive." Cron just ignores the missing hour entirely, which is fine for most things but not if you are relying on hourly data pipelines. I ran into a specific edge case last year where a billing system in New York was supposed to process transactions at 9:00 AM Eastern every business day, but during the November DST rollback, it processed payments twice for an entire week before anyone noticed. The root cause was a simple cron expression that didn't account for the ambiguous hour. I fixed it by switching the cron entry to use UTC internally and converting only at the point of user-facing output, which is a pattern I recommend for any system that touches multiple timezones.
Get the Full Details

If you are building something that needs to display local East Coast time to users who might be traveling or working remotely, store everything in UTC in your database and convert on read. Do not store local time with offset information unless you need the historical record of what the wall clock showed at a given moment, and even then, keep a UTC column alongside it. One more thing that trips people up: not all of the East Coast is in Eastern Time. Parts of Indiana and some counties in Kentucky and Florida observe Central Time. If your application serves users across the full geographic East Coast, you need a user preference table that maps each person to their actual timezone rather than assuming ET for everyone. I built a small lookup service that takes a zip code and returns the correct timezone using the tz database, and it cut our support tickets about wrong local times down to almost zero. If you need to download or reference timezone data, the IANA timezone database is the authoritative source. It is available at www.iana.org/time-zones and is bundled with most Linux distributions. The US federal government publishes the rules for DST changes at www.timeanddate.com, but relying on that for automated systems is risky because the page format changes. Stick to the tz database releases.