The Deal We Made with the Sun

The Problem & The Two Clocks
Tidal Friction: Every century, we lose 1.7 milliseconds of rotational speed
As Earth rotates beneath these tidal bulges, friction occurs—imagine dragging your hand through water. This friction slows our spin, like a brake pad on a wheel.
Every century, we lose 1.7 milliseconds of rotational speed, and this energy is transferred to the Moon, pushing it 3.8 centimeters farther away each year.
“By the late 1960s, this created a measurement crisis. We had two clocks that fundamentally disagreed.”
We had two fundamentally different ways to measure time, and they were drifting apart.
Two Time Standards: TAI (atomic perfection) vs UT1 (Earth's actual rotation)
TAI (Temps Atomique International): A cesium-133 atom vibrates 9,192,631,770 times per second, always, exactly, without variation. Since 1958, TAI has never stopped, never adjusted, never looked outside itself. Today, over 450 atomic clocks in 80 laboratories contribute to its calculation.
UT1 (Universal Time): Tracks Earth's actual rotation. It's what sundials measure with the real position of the Sun in the sky. But the Earth isn't a reliable timekeeper. Earthquakes shift mass, melting glaciers redistribute water, and even wind patterns change our spin.
“The two clocks drift apart by about 0.6 seconds per year. Without correction, they would diverge until noon arrived at midnight.”
The Compromise: UTC

Leap Seconds: When UTC drifts ±0.9 seconds from UT1, we pause for one second
Invented in 1972, UTC uses atomic seconds but keeps them aligned with Earth's rotation. The rule is simple: when UTC drifts ±0.9 seconds from UT1, add a leap second at 23:59:60, letting Earth catch up.
We've added 27 leap seconds since 1972. Each one represents our planet slowing down, the Moon drifting away, and humanity's attempt to reconcile the precision of atoms with the wandering of worlds.
“Currently in 2025: UTC = TAI - 37 seconds. That's 10 initial seconds plus 27 leap seconds we've added since 1972.”

UTC Drift Calculator
See how UTC and UT1 drift apart over time and understand why we need leap seconds.
The Drift
Earth's rotation slows by ~1.7ms per century due to tidal friction. UTC (atomic time) and UT1 (Earth time) drift apart by about 0.6 seconds per year on average.
The Threshold
When the drift reaches ±0.9 seconds, IERS adds a leap second. This keeps UTC within 0.9s of solar time so noon stays near actual solar noon.
Try it: Drag the slider to see how many leap seconds would be needed over different time periods. Notice how solar noon would drift!
UTC vs UT1 Drift
±30.00sAfter 50 years, 33 leap seconds would be needed. Solar noon would be off by 0.3 minutes.
The Algorithm of Alignment

Six-Month Notice: IERS issues Bulletin C when drift approaches 0.6 seconds
When a leap second occurs, here's what actually happens:
The pattern tells a story. The 1970s needed almost annual corrections. Then intervals stretched. The seven-year gap from 1999-2005 shocked timekeepers. Now we're in the longest pause yet: over eight years since 2016.
“Each leap second represents 1.7 milliseconds per day of accumulated drift, roughly 620 milliseconds per year.”
When Time Goes Backwards: Chaos in Production

Timestamp Collision: The same second occurs twice, breaking uniqueness
Most software assumes time moves forward continuously with 86,400 seconds per day. Many systems represent time as seconds since the Unix epoch: January 1, 1970, 00:00:00 UTC.
During a positive leap second, something impossible happens—the same timestamp occurs twice:
The bug was in the Linux kernel's futex subsystem. When the leap second hit, threads waiting on futexes spun at 100% CPU usage. Reddit went down. Mozilla's servers crashed. Qantas Airways' check-in system failed, stranding passengers worldwide.
The fix was embarrassingly simple: just setting the date to itself cleared the deadlock. But the damage was done—millions of dollars lost in minutes.
“Our entire digital infrastructure assumes time never stops, never repeats, never goes backward. The leap second violates all three assumptions simultaneously.”
The leap second's impact ripples far beyond crashed servers.
Microsecond Precision: HFT systems execute thousands of trades per second
Modern systems demand microsecond precision. FINRA requires microsecond timestamps on all trades, and EU MiFID II mandates 100-microsecond accuracy. When time stutters, trades execute out of order and prices diverge across exchanges.
The problem multiplies in distributed systems. Imagine a database cluster with three servers during a leap second:
“Some stock exchanges took no chances. They halted trading for 61 minutes around the leap second, treating time itself as a systemic risk.”
Why Is This So Hard To Fix?

Legacy Systems: Banking mainframes from the 1970s still process trillions
Legacy systems: Banking mainframes from the 1970s still process trillions in transactions. Updating them risks everything.
Distributed complexity: Google alone has millions of servers across hundreds of data centers. Ensuring they all handle leap seconds identically is nearly impossible.
Lack of standards: UTC defines when to add leap seconds, but not how systems should implement them. Every vendor invented their own solution.
Rare events: Leap seconds happen every few years, irregularly. Bugs lie dormant until the critical moment, untested and unnoticed.
“Faced with an unsolvable problem, engineers did what engineers do: they built workarounds.”
Engineering Around Failure

Google's Leap Smear: Spreads the extra second across 24 hours
Google's Leap Smear spreads the extra second across 24 hours. Instead of 23:59:60, they slow every second by 0.0011574%:
Trade-off: For 24 hours, Google's time doesn't match UTC
Clock Stepping is the traditional approach. The kernel repeats 23:59:59 or jumps backward one second. It triggered the 2012 Linux disaster.
The Ostrich Algorithm: Windows and many IoT devices simply ignore leap seconds. Their clocks drift up to one second from UTC until the next NTP sync.
TAI Internally: Financial firms increasingly run on TAI or GPS time internally, converting to UTC only for display:
“Every workaround solves one problem while creating another. We've replaced one universal time with dozens of slightly different times.”

Leap Second Strategies
Compare different approaches to handling leap seconds and understand their trade-offs.
Google's Smear
Spreads the extra second over 24 hours by running clocks 0.0011574% slower. Avoids time jumps but creates temporary disagreement with UTC.
Clock Stepping
Traditional approach: add 23:59:60 or repeat 23:59:59. Stays synchronized with UTC but caused the 2012 Linux disaster.
Ignore Strategy
Windows and many IoT devices simply skip the leap second. Simple but creates drift until next NTP sync.
Try it: Switch between strategies to see their timelines and understand why each approach has different implications for distributed systems.
Google Leap Smear
Spreads 1 second over 24 hours
Timeline
Pro: No time jumps. Con: Clock doesn't match UTC for 24 hours.
The Future: Negative Seconds & The End of Precision

Earth Sped Up: June 29, 2022, was 1.59 milliseconds under 24 hours
June 29, 2022, became the shortest day since atomic timekeeping began. The planet that had reliably decelerated for centuries suddenly spun faster.
A negative leap second would delete 23:59:59 entirely:
No operating system contains code for this deletion. Every timer, every scheduler, every database assumes 23:59:59 exists. While a positive leap second creates two identical timestamps, a negative leap second creates a temporal hole.
“Current models project the potential need by 2029 as the Earth's acceleration has slowed but not reversed.”
In November 2022, the General Conference on Weights and Measures passed Resolution 4 to abolish leap seconds by or before 2035.
2035 Deadline: Leap seconds will be abolished, allowing UTC-UT1 to grow
The new plan allows |UT1-UTC| to grow beyond 0.9 seconds. The exact limit remains undecided; proposals range from one minute to one hour.
Consider what happens as the offset grows:
Three solutions compete to replace leap seconds:
Leap Minutes: Add 60 seconds at once, perhaps every 50-100 years. Predictable, but every system worldwide loses an entire minute simultaneously.
Continuous Smearing: Adjust clock rates permanently, spreading corrections across decades. Every timestamp needs metadata: “What rate was the clock running?”
DUT1 Dependency: Abandon synchronization entirely. UTC becomes pure atomic time. Systems needing Earth orientation must continuously process DUT1 broadcasts.
We spent fifty years teaching computers to pause for one second. Now we must teach them to forget.
“The software burden is staggering. Every system must maintain two time models: pre-2035 with leap seconds, post-2035 without.”
Sources and Further Reading
IERS Bulletin C Archives - Official leap second announcements
ITU-R TF.460-6 - Standard-frequency and time-signal emissions
POSIX.1-2017 Time - How Unix systems handle time
History of Leap Seconds - NIST's comprehensive FAQ
The leap second: its history and possible future - McCarthy & Seidelmann, Metrologia 2008
Linux Kernel Leap Second Bug Analysis - LWN.net deep dive
2012 Leap Second Incident Report - Cloudflare's analysis
Google's Time Smearing - Official documentation
Meta: It's Time to Leave the Leap Second in the Past
AWS Leap Second Handling
Resolution 4 of the 27th CGPM (2022) - The decision to end leap seconds
A Leap Second Proposal - Steve Allen's comprehensive resource

Learn more
Explore more about how Greptile works