Dst
-
Day 22: "Permanent Standard Time vs Permanent DST"
Yesterday’s post we saw most people want DST abolished, that the data is one-sided, and yet we’re still doing it. The reason, the whole reason, is the question I want to spend today on.
If you abolish the biannual switch, which time do you keep?
This sounds like a small technical question. It is the only question that has actually mattered for the last twenty years of DST politics.
The two camps
The permanent-standard-time camp:
- The American Academy of Sleep Medicine
- The European Sleep Research Society
- Most chronobiologists and circadian researchers
- Pediatric and education groups
- The AMA
Their argument is essentially the one we ended Day 21 on. Standard time keeps “noon” reasonably close to actual solar noon, which means morning light arrives at a clock time that aligns with most people’s wake-up. Morning light is, as it turns out, the single most powerful entrainment cue for the human circadian system. Permanent DST means in northern latitudes you’re waking up before sunrise for four months a year, every year, forever. That has documented health costs.
The permanent-DST camp:
- The US Senate (via the Sunshine Protection Act, 2022)
- Retail, restaurants, golf, evening sports
- Tourism and outdoor recreation lobbies
- About twenty state legislatures
Their argument is economic. Lighter evenings mean more activity after work. People go shopping, eat at restaurants, play sports, walk their dogs. There’s some evidence of reduced evening crime. Children get more daylight to play after school. The argument probably isn’t crazy. It is also, weaker than the health argument. It has a structural political advantage that’s worth understanding.
Why permanent DST keeps winning
Here’s the asymmetry that explains everything. The benefits of permanent DST flow to industries that can directly measure the value of evening daylight in their quarterly earnings. The Chamber of Commerce, the National Association of Convenience Stores, the National Golf Foundation. These groups have lobbyists. They write briefs. They contribute to campaigns. They know exactly which Senate offices to call.
The costs of permanent DST are diffuse health harms spread across the population. They show up as heart attacks in cardiology wards, accidents on dark winter roads, kids falling asleep in school, marginally worse productivity at marginal jobs. None of these cost centers has a lobbyist. The AASM has issued position papers. They do not have a PAC.
Marco Rubio’s Sunshine Protection Act, which would make DST permanent year-round nationwide, passed the US Senate on March 15, 2022. Most senators who voted for it didn’t realize they were specifically voting for permanent DST rather than permanent standard time. The bill was framed as “ending the time change.”
It then stalled in the House. About twenty US states have passed laws to switch to permanent DST contingent on federal authorization. The federal Uniform Time Act currently allows states to opt out of DST entirely (Arizona and Hawaii do), but not to adopt permanent DST without federal action.
Basically, the policy with the better health evidence has no organized lobby, and the policy with worse health evidence keeps almost passing.
The 1974 attempt
Permanent DST has, in fact, been tried. Recently. In the United States.
In response to the 1973 oil crisis, President Nixon signed legislation putting the country on year-round DST starting January 1974. The idea was that the energy savings would help offset the embargo.
Approval cratered within months. The reason was dark winter mornings. Sunrise in the northern US in January, on permanent DST, doesn’t happen until after 8 AM in much of the country. School buses were picking up children before sunrise. There were fatal accidents. Several states recorded children killed walking to school in the dark.
Congress repealed it after eight months. The country went back to the biannual switch and has stayed there.
There’s a more recent test case: Russia adopted permanent DST in 2011. Moscow’s winter sunrises drifted to nearly 10 AM. Within three years, deeply unpopular, the country reversed course and switched to permanent standard time in 2014.
So we have two natural experiments, both at high northern latitudes, both ending the same way. Permanent DST as a policy lasted eight months in the US and three years in Russia. Both reversals happened because of dark winter mornings, which is exactly the regime the chronobiologists warn about.
What in the EU is happening
In 2018, the European Commission ran a public consultation on whether to abolish the seasonal time change. 4.6 million Europeans responded, of whom 84% wanted it ended. It was the largest public consultation in EU history at the time. (Caveat: about 3 million of those responses came from Germany, which the EU Commission acknowledged skewed the result. Even with that caveat, the signal was overwhelming.)
The European Parliament voted in March 2019 to end mandatory DST by 2021, with each member state choosing whether to settle on permanent summer or permanent winter time.
Then it died in the Council of the EU. Not because anyone disagreed about ending the switch. Because nobody could agree on whether they were ending it toward summer or winter. The fear, perfectly reasonable, was that if each country chose independently, the EU single market would end up with a patchwork. Germany on permanent winter, France on permanent summer, an hour difference between Paris and Berlin that hadn’t existed in living memory.
Then Brexit happened. Then COVID. Then Ukraine. The DST proposal slid permanently down the agenda. As of 2026, it’s effectively dead, not because nobody can resolve which permanent time to adopt before the next crisis lands.
Mexico did the thing
The cleanest recent move came from Mexico, which abolished DST nationwide in October 2022, keeping permanent standard time. They left exceptions for the northern border states that need to stay aligned with the US for cross-border commerce.
The early returns are positive. Some grumbling about summer evenings ending sooner. No mortality data yet (these things take years to show up clearly), but no political pressure to reverse either. As of 2026, Mexico is the closest thing we have to a clean test of “permanent standard time at high latitudes” in a developed economy, and it appears to be working.
Get to the point already sheesh.
This is what I think. Standard time wins, and by a lot, but maybe they both suck.
The argument is one sentence: standard time is anchored to the actual sun. Permanent DST is anchored to whatever made the National Golf Foundation’s quarterly easier to forecast. One of those is a measurable physical fact. The other is the lobbying preference of an industry sector.
The 1974 experiment in the US and the 2011-2014 experiment in Russia both told us what happens at northern latitudes on permanent DST: dark winter mornings, kids walking to school before sunrise, fatal accidents, collapsing public approval. Those are real objections. They’ve been tested. Twice.
Here’s the part nobody want’s to say. If restaurants, retailers, golf courses, and tourism boards want longer evening daylight for commerce, they can change their own hours. Open later in summer. Close later in summer. Run “summer hours” promotions like grown-ups. That’s a marketing-department problem, not a federal one. We do not need to make 330 million Americans get up in the dark in January so the National Association of Convenience Stores can sell more Slurpees after work.
But here’s my One more thing, Standard-vs-DST is downstream of a bigger problem. Civil time has always been a political construct dressed up as physics. Time zones aren’t natural features of the planet. They’re lines drawn in the 1880s so railroads could publish schedules. Within any single zone the sun is overhead at noon in some town and an hour off in another. We rounded the difference and called it good.
Standard time is the more honest version of that compromise. At least it tries to keep the wall clock close to the actual sun. But neither permanent option is the real fix. The real fix would be admitting that the inherited time-zone system is a railroad-era hack we never updated. That’s a bigger fight than DST, and no country is seriously having it yet. We’ll come back to that again in the future.
Pick standard time. Stop switching. Let the industries that want longer evenings adjust their own hours.
Solvem those problems!
Tomorrow’s problems are all about the amount of Gregs we have on calendars.
Sources
- AASM Position Statement on Daylight Saving Time — Journal of Clinical Sleep Medicine (2020). The American Academy of Sleep Medicine’s argument for permanent standard time, grounded in circadian-entrainment research showing morning light is the dominant phase-setter.
- AMA calls for permanent standard time — American Medical Association (2022). The AMA’s official policy supporting permanent standard time, citing cardiovascular events, strokes, and motor vehicle accidents tied to the transitions.
- S.623 - Sunshine Protection Act of 2021 — Congress.gov. The official legislative history of Marco Rubio’s bill to make DST permanent nationwide. Passed the US Senate by unanimous consent on March 15, 2022; died in the House without a vote.
- Daylight Saving Time | State Legislation — National Conference of State Legislatures. The authoritative tracker of state-level DST bills, including the roughly twenty states with conditional permanent-DST laws awaiting federal authorization.
- 15 U.S. Code Chapter 6 — Weights and Measures and Standard Time — Cornell Law / Legal Information Institute. The text of the Uniform Time Act, which allows states to opt out of DST (Arizona and Hawaii do) but not to adopt permanent DST without federal action.
- Emergency Daylight Saving Time Energy Conservation Act of 1973 — Wikipedia. Legislative history of the Nixon-era year-round DST experiment, including the January 1974 start, the collapse in approval (79% → 42%), the child-safety incidents, and the October 1974 repeal.
- Time in Russia — Wikipedia. Comprehensive history of Russian time-zone policy, including Medvedev’s 2011 adoption of permanent DST, the deeply unpopular dark-winter-morning consequences, and Putin’s 2014 reversal to permanent standard time.
- Summertime consultation: 84% want Europe to stop changing the clock — European Commission press release (August 2018). The official summary of the 4.6 million-response public consultation, the largest in EU history at the time, with the Germany-participation caveat acknowledged.
- Mexico ends daylight saving time — Associated Press (October 2022). Coverage of the Mexican Senate vote ending DST nationwide, with exceptions for northern border municipalities.
- Time zones / DST around the world — timeanddate.com. Country-by-country tracker of DST observance.
I’d appreciate a follow. You can subscribe with your email below. The emails go out once a week, or you can find me on Mastodon at @[email protected].
-
Day 18: DST and The Related Software Bugs
This is one of two or three DST posts in the 30 Days of Time series. Today’s angle: the software bugs.
Twice a year, in most of the developed world, the clocks jump forward in spring and back in fall. The hour that doesn’t exist in spring materializes and then disappears in the fall. This is the source of more shipped bugs than any other single phenomenon in software.
The Two Impossible Hours
The mechanics, if you’ve never thought hard about them.
Spring forward. On the transition Sunday in March (in the US), the clock reads
01:59:59and then immediately reads03:00:00. The hour from 2:00 to 2:59 AM does not exist. 2:30 AM on that day is not a time. If you tell a computer to do something at 2:30 AM on that day, you have asked it to do something at a time that doesn’t exist.What it does is up to the library:
- It might silently skip.
- It might silently run at 3:30 instead.
- It might throw an exception.
- It might run at the wrong time and silently throw your reports off.
The classic landmine is a daily task scheduled in local time, for example a job set to run at
1:30 AM. If you’re using the standard Linuxcrondaemon, it has battle-tested, built-in logic to detect DST transitions and prevent duplicates.The problems are usually at the application layer. If you are using an application-level scheduler or Cron library that hasn’t been configured properly and blindly trusts the system clock, you can get into a situation where that 1:30 a.m. doesn’t exist or runs twice.
A Short Tour of Named Disasters
March 2007, United States. Congress passed the Energy Policy Act of 2005, which moved DST to begin three weeks earlier and end one week later. The change took effect in March 2007. Every system in the country running on a tz database older than mid-2006 spent three weeks in March, and one week in November, off by an hour. Banks ran payroll at the wrong time. BlackBerry calendars showed every meeting an hour off. Federal agencies had to issue advisories. The DOE later estimated the extension saved about 0.5% of electricity per day of extended DST, or roughly 1.3 TWh annually. The remediation cost across every affected piece of software in the country dwarfed that figure. (More on that later.)
New Year 2011, iOS. Non-recurring alarms set for January 1 or 2, 2011 did not fire, in any time zone. People slept through work. Apple’s official advice was to set one-time alarms as recurring until January 3. This was on top of an iOS DST bug from a few months earlier, when the fall 2010 transition shifted alarms by an hour in countries that had already changed clocks. Two months after the New Year’s bug, iOS again mis-handled the US spring DST transition. Apple released an apologetic fix and quietly rewrote the alarm subsystem.
Brazil, April 2019. Brazil canceled DST after decades of observing it, via Decree 9,764. This is fine for clocks going forward, but the cancellation was announced only a few months in advance, and the IANA tz database had to ship updates fast. Every Brazilian server running on a stale cache spent the next year an hour off, in particular for any future-scheduled event saved as “local time.”
Palestine. For about a decade running, Google Calendar shipped wrong DST data for Palestine, because the Palestinian Authority changes DST rules with short notice and the IANA volunteers don’t always learn in time. Meetings between Israeli and Palestinian colleagues would silently shift by an hour twice a year.
The Shape of the Failure
The DST bugs usually go like this:
- A piece of software was written with the assumption that local time is well-defined and monotonic.
- Local time is neither.
- The author never hit edge cases. It only happens twice a year, in certain regions, under certain settings.
- The bug ships. It runs fine for six months. Then it doesn’t.
The mitigations are well-known and this is why we do what we do.
- Store UTC. Always. The IANA zone ID goes in a separate column. Never, ever store a naked local timestamp.
- Recompute the local display every time. Treat local-time as a view, not data.
- Never schedule anything between 2 and 3 AM local. That hour does not exist in your country half the time.
- Use libraries that surface the ambiguity. The older Python
pytzlibrary would throw when you constructed an impossible local time. The modernzoneinfohandles it silently via afoldattribute, meaning you have to manually check for ambiguity. JavaScript’sDateproduces inconsistent results across engines. TheTemporalAPI, which reached Stage 4 in March 2026 and ships in Chrome 144, Firefox 139, and Node 26, lets you explicitly reject ambiguous times. Use it the soonest you can. - Keep tzdata current. This is a system-package problem and most teams forget about it until something breaks.
The tricky part of software has always been that we think that the wall clock or the wall time, the number you see on a daily basis is the same as the actual physical passage of time when in reality they are not. Daylight savings time is a really great example of the absurdity of our timekeeping.
Week 3 Recap
If this is the first time you are reading this series I figured a recap is order. Week 3 has been about the infrastructure of practical timekeeping, the layer where computers, calendars, and humans actually have to agree on what time it is.
- Day 13: Unix Time, 1,780,620,532 — The 10-digit integer counting up from 1970 that runs every computer on Earth, and the weird properties hiding behind the name.
- Day 14: The Bug That Didn’t End the World, and the One That Still Might — Y2K was a save, not a hoax, and Y2038 is the one nobody is preparing for.
- Day 15: The Man Who Synchronized the World — David Mills, NTP, and the forty-year project that keeps every networked clock on Earth within a few milliseconds of UTC.
- Day 16: How the World Agreed on a Date Format (Except the US) — The century-long campaign that produced
2026-06-08T14:30:00Z, and why a bare05/06/26is still an act of faith. - Day 17: Time Zones Are a Nightmare — 38 named offsets in active use, half-hour zones, and why “what time is it there?” is the wrong question.
- Day 18 (today): DST, and the bugs that ride along with it twice a year.
The picture I want to leave you with is that every problem we’ve covered in Week 3 is a downstream consequence of a deeper one. The system isn’t fragile because of bad programmers. It’s fragile because the underlying thing, “what time is it, here, right now,” was never a single answer, and we’ve been pretending it was.
What’s Coming
Week 4 is about the cracks. What if a minute had 61 seconds? What if October had only 21 days? What if every meeting on every calendar landed on the same weekday, forever? Each of those has actually happened, or is being voted on, or was almost adopted. Week 4 covers leap seconds and their abolition, the DST fight nobody can win, and the calendars we use, almost used, and may yet use.
Sources
- Energy Policy Act of 2005 (Wikipedia). Details the US DST schedule change that took effect in 2007.
- Impact of Extended Daylight Saving Time on National Energy Consumption (US DOE). The 0.5%-per-day savings estimate from the post-2007 study.
- Apple confirms New Year’s alarm bug (AppleInsider). Coverage of the iOS 2011 non-recurring alarm bug and Apple’s workaround.
- Daylight saving time in Brazil (Wikipedia). History of DST in Brazil, including the 2019 abolition via Decree 9,764.
- Zune 30GB leap year bug (Wikipedia). The firmware loop that bricked Zunes on New Year’s Eve 2008.
- 2012 Reddit leap second outage (Wired). Write-up on the Linux
hrtimerbug that took down Reddit, LinkedIn, and Qantas. - TC39 Advances Temporal to Stage 4 (Socket). Current status of the JavaScript
TemporalAPI.
I’d appreciate a follow. You can subscribe with your email below. The emails go out once a week, or you can find me on Mastodon at @[email protected].