Why Does the Planet’s Spin Keep Changing?

The second is defined by atomic physics. Since 1967, one second has been the duration of 9,192,631,770 periods of radiation from a caesium atom. It never wavers. It never slows down. It is the most precise unit of measurement humans have ever created.

The day is defined by the planet. One spin on its axis takes roughly 86,400 seconds, but only roughly. The spin is not constant. It is slowed by the Moon’s gravity pulling on the oceans, which creates tidal friction. It is nudged by earthquakes redistributing mass. It is affected by the melting of polar ice, which shifts weight toward the equator and actually speeds the spin up. The length of a day drifts against atomic time by a fraction of a second every year.

That drift is tiny. It is measured in milliseconds per day. But over months and years, the fractions accumulate. Without adjustment, the gap separating atomic time from solar time would grow. After a century, it would be about a minute. After a thousand years, it would be over an hour. The Sun would eventually rise at what the clock says is noon.

That is the problem leap seconds solve. They are the bridge linking two incompatible definitions of time.

What slows the planet down

Tidal friction from the Moon is the main brake. The oceans bulge toward the Moon, and the globe rotates underneath that bulge. The resulting drag steals rotational energy, lengthening the day by about 1.7 milliseconds per century.

What speeds it up

Not everything pushes in one direction. Ice melt shifts mass from the poles toward the equator, which acts like a spinning skater pulling their arms in: the planet speeds up. Large earthquakes can also redistribute mass enough to change the length of day by microseconds.

The net effect

The drift is not a straight line. Some years the globe spins faster than the year before. Some years it slows more than expected. The IERS measures this constantly and announces when the gap hits 0.9 seconds.

UT1 vs TAI: Why Atomic Time and Earth Time Diverge

To understand leap seconds, you need to know two other time standards. TAI, or International Atomic Time, is the pure count of atomic seconds since 1 January 1958. It does not care about the globe. It does not care about the Sun. It just ticks, second after identical second, maintained by roughly 450 atomic clocks at laboratories around the world.

UT1, or Universal Time 1, is the opposite. It is based directly on the planet’s spin. It is the time a sundial reads, adjusted for the elliptical orbit and axial tilt. It is the thing that makes the Sun appear overhead at noon. UT1 is not constant. It is the measurement of a spinning rock, and the rock is always changing its mind.

UTC, the time standard that runs your phone, your server, and your flight schedule, is a compromise. It ticks at the rate of TAI, so it is precise and stable enough for engineering, navigation, and telecommunications. But it is nudged by whole seconds so that it never diverges from UT1 by more than 0.9 seconds. This is why a leap second is inserted: it keeps the two in alignment.

The cumulative effect of these nudges is that atomic time now runs 37 seconds ahead of UTC as of 2026. Every one of those 37 seconds is a leap second that has already been inserted, each one compensating for the slow drift linking the atom and the planet.

TAI: the clock that never drifts

TAI is computed by the BIPM (International Bureau of Weights and Measures) from roughly 450 atomic clocks. It is a retrospective calculation, published monthly. No clock shows TAI directly.

UT1: the sundial standard

UT1 is determined by VLBI (very long baseline interferometry), measuring the globe’s orientation relative to distant quasars. It is the raw rotation, smoothed and corrected.

UTC: the compromise we all use

UTC equals TAI minus an integer number of seconds. That integer grows with each leap second. The offset is published by the IERS in Bulletin C, typically every six months.

How Leap Seconds Work: 23:59:60

When the IERS decides a leap second is needed, it is always added at the end of a day, usually on 30 June or 31 December. The chosen day does not have 86,400 seconds. It has one more.

The final minute of that day runs: 23:59:58, 23:59:59, 23:59:60, and then 00:00:00 of the next day. That reading of 23:59:60 is entirely legal in ISO 8601, the international standard for date and time formatting. The standard explicitly permits a value of 60 in the seconds field for this purpose.

Very little code accepts it. Most programs, if they parse the time at all, will throw an error, return null, or silently skip the extra second. Some will reject the entire timestamp as invalid. Others will round to the nearest second, which is usually harmless but can cause problems if you are comparing two events that happened on either side of the leap.

The leap second is announced by the IERS months in advance, typically six months, because the planet’s spin is not predictable further out. The IERS cannot give more notice, because the spin is affected by so many factors that a forecast beyond that horizon would be guesswork.

Why June and December

The IERS designates 30 June and 31 December as the preferred dates. These fall at the end of the second and fourth quarters, giving operators predictable windows for the change.

The six-month notice window

Bulletin C is published roughly six months ahead. That is the limit of reliable UT1 prediction. Beyond that, the uncertainty in the spin exceeds the 0.9-second threshold.

Why code breaks

POSIX time defines every day as 86,400 seconds. There is no integer to represent second 86,401. The count either repeats or jumps, depending on implementation.

The 27 Leap Seconds Inserted Since 1972

Since the practice began in 1972, 27 leap seconds have been inserted. The first was on 30 June 1972. The most recent was on 31 December 2016. Every single one has been positive, meaning a second was added, not subtracted. The globe’s spin has been slower than atomic time for the entire history of the practice, so the adjustment has always been in the same direction.

The pattern has not been regular. In the 1970s, leap seconds came almost every year. In the 1980s and 1990s, they were less frequent but still common. Since the year 2000, they have been rarer still, with gaps of several years separating them. The longest gap in the entire history of the practice is the one we are in now: no leap second has been inserted since 31 December 2016.

The reason is that the globe has recently been rotating slightly faster than it did through most of the twentieth century. The planet is not slowing down uniformly. It has had a few years where it spun faster than average, and that has reduced the accumulated drift to below the 0.9-second threshold that would trigger a change.

The 1970s rush

Nine leap seconds were added in the first decade. The globe was slowing faster then, and the drift accumulated quickly.

The slowdown after 2000

Only five leap seconds have been added since 2000. The rate of deceleration dropped, and the planet even sped up in some years.

All positive, so far

No negative leap second has ever been issued. The globe has never spun fast enough relative to atomic time to require removing a second.

The Longest Gap: No Leap Second Since 2016

As of 2026, it has been over nine years since the last leap second. That is not just a curiosity. It is the longest stretch without an adjustment since the practice began, and it has consequences for the people who maintain time-sensitive infrastructure.

The lack of leap seconds does not mean the globe has stopped slowing down. It means the rate of slowdown has been slower than the average, or that the planet has even spun up slightly. The drift separating UTC from UT1 is still there, but it is accumulating more slowly than it did in the 1970s.

For most people, this changes nothing. Your phone, your computer, and your server all get their time from network time protocols that handle the occasional extra second without any input from you. But for the small group of people who build and maintain the global time infrastructure, the long gap has been a quiet period. The next change, whenever it comes, will be the first in nearly a decade.

What changed in the spin

The planet’s rotation sped up slightly starting around 2016. Researchers attribute this to a combination of factors, including shifts in the liquid outer core and reduced glacial rebound.

Why the gap matters for infrastructure

Deployments that went live after 2016 have never experienced a leap second in production. The next one will test code that has only been exercised in simulation.

Will we hit the threshold soon

The IERS publishes UT1-UTC daily. As of early 2026, the difference remains below 0.9 seconds. No bulletin has been issued.

When Will Leap Seconds End? The 2035 Plan

The end of the leap second is coming. In November 2022, the General Conference on Weights and Measures (CGPM), the international body that defines the metric system and its related standards, passed Resolution 4. The decision was to abolish leap seconds by 2035.

The resolution did not come out of nowhere. The leap second has been controversial in the timekeeping community for decades. It is a constant source of bugs in code, a headache for network administrators, and a point of failure for setups that need to know the precise time. Several alternative schemes have been proposed over the years, including allowing the difference separating UTC from UT1 to grow to a full minute before correcting it.

The CGPM’s plan is different. Instead of an adjustment whenever the drift reaches 0.9 seconds, the new system would allow the difference to grow much larger before any change is made. The fix would be a larger one, applied at longer intervals, and it would be announced well in advance.

The target is a “leap minute” rather than a leap second. The difference linking atomic time and Earth time would be allowed to grow to about 60 seconds before a change is made. That change would happen around 2135, according to current projections, though the precise date would depend on the globe’s spin in the interim. The new system would be in place by 2035, and the last leap second would be inserted sometime before then.

What Resolution 4 actually says

The CGPM resolved to replace leap seconds with a new system that allows UT1-UTC to diverge by up to 60 seconds. The details are to be worked out by 2035.

Why not just drop them immediately

Abolishing leap seconds overnight would break legal time definitions in multiple jurisdictions. The 2035 deadline gives governments and standards bodies time to update their statutes.

The leap minute: one change per century

At current drift rates, a 60-second gap would take roughly a century to accumulate. That means one scheduled adjustment per hundred years, announced decades ahead, instead of an unpredictable one every few years.

What Is a Negative Leap Second?

Every leap second so far has been positive, adding a second to the end of a day. But the system also allows for a negative leap second, which would remove a second from the end of a day. The final minute would run 23:59:58, 23:59:59, and then skip straight to 00:00:00 of the next day, with no 23:59:60 in the middle.

No negative leap second has ever been used. The globe’s spin has been slower than atomic time for the entire history of the practice, so the change has always been in the same direction. But the possibility exists, and the IERS has published the rules for how it would work.

A negative leap second would be harder to handle in code than a positive one. A positive leap second repeats a second, which is odd but at least gives you a value to represent it. A negative leap second skips a second entirely, which means any timestamp that falls in that second is simply unrepresentable. Some setups would not know how to handle it.

The probability of a negative leap second being needed is low, but not zero. If the globe’s spin continues to speed up, as it has in recent years, the drift could eventually cross the threshold in the other direction. The IERS would then have to decide whether to insert a negative leap second or let the difference grow. Under the 2035 plan, this question would be moot, because the whole system is being replaced.

The rules for removal

The IERS procedure mirrors the positive case: a 23:59:58, then 00:00:00. The skipped second is 23:59:59. No timestamp can be assigned to it.

Why code fears the skip

A repeated second means two events can share a timestamp. A skipped second means an event can have no valid timestamp at all. Logging, databases, and financial setups all assume monotonic time.

Has the globe ever spun fast enough

Not since 1972. The long-term trend is slowing, but the short-term variability means a negative leap second is physically possible, just unlikely.

Leap Smearing: How Google Handles Leap Seconds

The leap second is a problem for anyone who needs to log events with sub-second precision. The extra second creates a 61-second minute, which breaks the assumption that every minute has 60 seconds. Most code was not built for this, and the result is a class of bugs that have plagued the industry for decades.

Google’s solution is called leap smearing. Instead of adding a second all at once, Google spreads the extra second across the entire day. The change is applied gradually, in tiny increments, so that no individual second is ever repeated or skipped. The difference separating Google’s time from UTC never exceeds 0.001 seconds, which is well within the tolerance for most applications.

The technique is not perfect. It means that Google’s servers are never precisely on UTC, only within a millisecond of it. But for most purposes, that is close enough. The advantage is that the time never jumps, never repeats, and never skips, so there are no bugs.

Other large companies have adopted similar approaches. Meta, which runs Facebook and Instagram, uses a variant that smears the leap second over 24 hours. Amazon has its own implementation. The details differ, but the principle is the same: spread the change out so it is invisible to code.

How the smear works

Google’s NTP servers lie to their clients. Over the course of the leap second day, each “second” is actually slightly longer than a real second. By midnight, the accumulated extra time equals one second.

Who uses smearing

Google, Meta, Amazon, and Cloudflare all use some form of smearing. Each chooses a different window: Google uses 24 hours centered on the leap; others smear over 20 or 24 hours before the event.

The trade-off

Smeared time is not UTC. Two setups using different smear windows will disagree by up to a second during the smear period. For most applications, this does not matter. For astronomy, satellite operations, or legal timestamps, it does.

Impact on Code: What Developers Need to Know

If you are a developer, the leap second is a problem you will never fully solve. It is a fundamental incompatibility linking the way time is defined and the way computers represent it.

The root of the issue is POSIX time, the count of seconds since 1 January 1970 that underlies almost every operating system. POSIX time defines every day as 86,400 seconds long. There is no value available to represent the extra second at all. The count just repeats the second before it, or skips it entirely, depending on the system.

The result is that leap seconds are a source of bugs that are hard to reproduce, hard to debug, and hard to fix. The bugs only appear twice a decade, on average, and they only affect setups that need sub-second precision. But when they do appear, they can cause data corruption, dropped events, or incorrect timestamps.

The 2035 abolition will not make these bugs go away. It will replace one set of problems with another. But the new system, with its larger changes at longer intervals, is designed to be easier for code to handle. A leap minute is much easier to accommodate than a leap second, because it happens so rarely that it can be treated as a special case without affecting the common path.

For now, the advice is simple. If you are building something that needs to know the precise time, use a library that handles leap seconds correctly. Do not try to implement it yourself. And if you are running a service that needs to log events with sub-second precision, consider leap smearing or a similar technique. The next leap second may be years away, but it will come. The only question is when.

The POSIX problem

POSIX mandates 86,400 seconds per day. Leap seconds break that assumption. The kernel either repeats the same second twice or jumps, depending on configuration. Neither is correct.

Libraries that help

The IANA time zone database includes leap second data. Languages with good time libraries (Python’s datetime with zoneinfo, Rust’s chrono, Java’s java.time) can handle leap seconds if configured correctly.

Testing is hard

You cannot test a leap second by changing the system clock. You need a kernel that supports leap second injection, or a simulated environment. Most teams do not test for it at all.

What the 2035 change means for code

A leap minute is a scheduled event decades away. It can be handled as a one-off migration rather than a recurring edge case. That is the point.