leap seconds

Civil time is based on fixed-length atomic seconds for scientific purposes, but the Earth does not turn at a steady rate.

To keep clocks synchronized with the turning of the Earth, the International Earth Rotation and Reference Systems Service (IERS) occasionally adds one second to or removes one second from the end of a day. When a second is added it is known as a leap second.

I feel that leap seconds are a good compromise between the need of science for the length of a second to be fixed and the need of civil timekeeping for clocks that match the days and the seasons. Some people, however, feel that the burden of dealing with leap seconds is too great, and would like to abolish them. To resist this, I have developed a software package which makes dealing with leap seconds easier.

You can find the source tarball for libtime on GitHub under the ShowControl project at https://github.com/ShowControl/libtime. For RPM-based distributions of GNU/Linux such as Fedora the source RPM is at the same location and in addition the library can be installed from COPR using johnsauter / libtime. Also, the source tarball can be built from files embedded in the PDF file at “Avoid Using POSIX time_t for Telling Time”.

Because the rotation of the Earth is irregular, it is not possible to predict the next leap second far in advance. This makes for a guessing game: when will the next leap second be? At the time of this writing, in July of 2026, it looks like the next leap second will be on December 31, 2047 and it will be a positive leap second. Here is an illustration of that prediction:

In the above chart, UTC is time as measured by an atomic clock, and UT1 is the rotation of the Earth. The line shows the difference between them, with the part from 1973 to the present being the values measured and reported to the IERS, the part from the present to a year from now being the future values estimated by the IERS, and the part more than a year in the future being values projected further into the future. When a leap second is introduced the line jumps by one second. The IERS data in this chart was last updated by the IERS on July 02, 2026.

It is clear from the historical data displayed above that the IERS declares a leap second when UT1−UTC is between −0.2 and −0.7 seconds, though recently the interval has been from −0.4 to −0.7 seconds. I predict that the next leap second will be on December 31, 2047, when I project the value of UT1−UTC to be about −0.565 seconds. Other reasonable dates for the next leap second are shown in the table below. A leap second when UT1−UTC is positive will be a negative leap second, and a leap second when UT1−UTC is negative will be a positive leap second.

Predicted values of UT1-UTC assuming no leap seconds
dateUT1-UTC in seconds
December 31, 20300.217
June 30, 20310.219
December 31, 20310.271
June 30, 20320.271
December 31, 20320.319
June 30, 20330.315
December 31, 20330.360
June 30, 20340.353
December 31, 20340.394
June 30, 20350.384
December 31, 20350.422
June 30, 20360.408
December 31, 20360.442
June 30, 20370.425
December 31, 20370.456
June 30, 20380.436
December 31, 20380.463
June 30, 20390.439
December 31, 20390.464
June 30, 20400.405
December 31, 20400.392
June 30, 20410.326
December 31, 20410.305
June 30, 20420.230
December 31, 20420.201
December 31, 2045−0.210
June 30, 2046−0.317
December 31, 2046−0.379
June 30, 2047−0.495
December 31, 2047−0.565
June 30, 2048−0.689
December 31, 2048−0.765
June 30, 2049−0.890
December 31, 2049−0.968

I predict the next leap second by running an algorithm over the UT1−UTC data as reported by the IERS or estimated using astronomical observations in the past and predictions and projections in the future. For details, including a table of leap seconds from the year −2000 to the year 2500, see “Extending Coordinated Universal Time to Dates Before 1972”.