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, from 1972 to 2026 the International Earth Rotation and Reference Systems Service (IERS) occasionally added one second to 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.
It appears that I have lost this argument, as the decision was made in 2026 to abolish leap seconds, replacing them with leap hours starting in 2027. The first leap hour will be far in the future, so the effect is to make the problem of reconciling the turning of the Earth with fixed intervals of time much larger, but making it a problem for someone else.
Nevertheless, I have developed a software package which makes dealing with leap seconds easier, in the hope that some future generation will correct this decision and re-institute leap seconds.
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 would the next leap second be? At the time of this writing, in October of 2026, it looks like the next leap second would be on June 30, 2030 and it would 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 October 29, 2026.
It is clear from the historical data displayed above that the IERS declared 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 would be on June 30, 2030, when I project the value of UT1−UTC to be about −0.595 seconds. Other reasonable dates for the next leap second are shown in the table below. A leap second when UT1−UTC is positive would be a negative leap second, and a leap second when UT1−UTC is negative would be a positive leap second.
| date | UT1-UTC in seconds |
|---|---|
| June 30, 2027 | −0.247 |
| December 31, 2027 | −0.279 |
| June 30, 2028 | −0.366 |
| December 31, 2028 | −0.401 |
| June 30, 2029 | −0.482 |
| December 31, 2029 | −0.512 |
| June 30, 2030 | −0.595 |
| December 31, 2030 | −0.627 |
| June 30, 2031 | −0.709 |
| December 31, 2031 | −0.741 |
| June 30, 2032 | −0.822 |
| December 31, 2032 | −0.853 |
| June 30, 2033 | −0.933 |
| December 31, 2033 | −0.964 |
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”.