Responding to a deleted comment:
> ... the "invisible infrastructure" of the web; balancing historical accuracy with the technical need to minimize zone fragmentation is a much more complex trade-off than it appears on the surface ...
The complexity goes up tremendously if some condition is rarely encountered: eg leap second. This means it gets pushed to a "corner case" and tested more lightly and more rarely.
At $work around 2014 we had three different hardware GPS types which we used for precision timekeeping; some chips, daughterboards, and firmware. One day a leap second arrived -- it gets broadcast to aGPS hardware a day ahead of time -- and all three implementations handled it differently. One handled it, one did something else like ignore it, and I think one even bricked itself. That situation was less than bueno.
> The complexity goes up tremendously if some condition is rarely encountered: eg leap second. This means it gets pushed to a "corner case" and tested more lightly and more rarely.
There is some talk of eliminating the leap second, which would over time have the Earth and sun diverge with regards to noon and such. One 'answer' to this concern is to have a 'leap hour' or something in the future (some future generation's problem, not ours): but given that people can't even get February 29th correct now, and it happens regularly, I don't see how a one-off event would be made to work. It'd be a huge coördination problem.
Just look at the introduction of the Gregorian calendar: it was slightly off since the time of Julius Caesar, but that minor error added up over time, to the point that to get the equinoxes/solstices back to where they 'should' be 10 days had to be removed with the Gregorian calendar. And because of politics (or a religious flavour) it took a long while for everyone to get on the same page.
The calendar adjustments are because the planet's constant orbital period isn't a whole number of days.
The leap seconds were an attempt to have wall clock time map to the planet's rotational angle consistently despite the problem that the planet's spin varies unpredictably.
Yes the "leap hour" is a legal fiction of course. In reality in the event anybody cares about this in the distant future they will make the kind of "drastic" changes you've probably experienced twice a year for your whole life and barely noticed... More likely because the drift is so incredibly slow they won't change anything.
So lunar tidal forces are slowing the rotation, but (recently?) Earth mantle/core is causing a speed up, but climate change and melting ice is contributing to the slow down side:
* https://www.scientificamerican.com/article/leap-seconds-may-...
* https://scripps.ucsd.edu/news/global-warming-influencing-glo...
The general trend is slowing down. Apparently (?) once the day gets to be 24h+0.001sec (+1 millisecond), a leap second would occur about every 1000 days; then when it becomes 24h+0.002sec, a leap second would occur about every 500 days; when it reaches 24h+0.003sec, a leap second would occur about every year; etc.
Leap seconds have so many problems beyond the time adjustment. It's a small/odd enough adjustment interval that there are wildly different approaches like leap smears. On top of being so small, it's rare enough (~every 2 years), depending on how a system is used, lack of proper handling might not be obviously apparent or lack of obvious problem in one implementation ignoring it may lead to lack of care in another implementation which would have a problem ignoring it.
Leap hour replaces all of that with what is more or less equivalent to a change in DST rules (except for more time zones at once). DST changes don't go perfect either by any means... but we do them regularly enough without the world crashing down that doing an additional shift change of an extra hour every 5000 years is almost certainly less hassle and breakage than the leap second approach breaking things every ~2 years.
It is way more easy to let UTC (without leap seconds) just drift away from the zero meridian and move countries to different time zones when convenient. We mess around with daylight savings time often enough that nobody will notice if we have change local time every couple of thousand years.
DST changes are pre-scheduled. Throwing a random hour in/out at (say) June 30, 2029 may be something else. Unless the jump is treated as a TZ change in tzdata?
IMHO the correct way to handle leap seconds would have been at the same layer as timezones, i.e. a display-only thing. Timezone databases are regularly updated, you push out leap second updates there. In the worst case, people's clocks are off by one second but all the underlying timing logic doesn't crash.
We had a leap hour yesterday...
> We had a leap hour yesterday...
Prescheduled.
Now tell everyone we're having one June 30, 2029, and see how things go.
Interesting! There's a lot I don't know about this, but I know a little more now. I'll admit, I naively thought this would be more regular than it appears to be [0].
They teach us Scientific Realism in school, but reality is that we are really using Instrumentalism.
That said, no one wants to admit it, so contemporary science follows Falsification, where we find ways to not actually make claims about reality. (Which as an Instrumentalist/pragmatist, I love Karl Popper, its just not metaphysical truth. And that would break Popper's heart)
> They teach us Scientific Realism in school.
I'd argue the opposite is true for anyone who has studied statistics which is largely built on Instrumentalism (think George Box: 'All models are wrong, but some are useful') and Popperian falsification (Null Hypothesis testing). We are absolutely taught to treat models as predictive tools rather than metaphysical truths.
A distinction without a difference. The only way we can interact with the world is via senses, via instruments, via measurement. We can rehash solipsism, but seeing as how that is an immediate dead end we all agree there is a physical reality. If there is in fact a reality, then we are measuring something real.
How about a leap minute instead so we only have to worry about this when it's not a problem anymore :)? We will either hit the fermi filter or accend intelligence.
The length of day increases by around 1.7 milliseconds per century long term (due to the moon’s gravity continuously slowing down Earth’s rotation), which without leaps seconds translates to around one total minute per century. Note that this is cumulative: next century you will need two leap minutes, and so on. Of course, there are significant shorter-term variations in Earth’s rotation due to other factors, so it isn’t quite that smooth in practice.
There was a resolution in 2022 to make a decision in or before 2035, to increase the allowable deviation from one second to a longer interval, like one minute. But that would become more frequent in the long run as well, and likely would still cause disruptions whenever it happens. Though on the other hand there would likely be a longer advance notice for it as well.
That's much worse than the Y2K problem.
Leap Seconds need to be abolished. The only people who need it are Astronomers. They could just use an offset. Implementing leap seconds correctly is a huge burden, for no gain.
Where I live, high noon today occurs at 1:03 PM. No one is complaining that it is 3 minutes (or 63 minutes) off. It's a non-issue for 99.9% of the population.
Hmm. I understand that perspective, but I'm not sure I agree. It does seem to matter over a relatively short & realistic time scale. According to the Wikipedia page, there have been 27 seconds added since 1972, which is only 44 years ago. At that rate, that's about 1 minute per 100 years. We have many systems that have existed for several centuries and I think it's not unreasonable to start making plans for systems that may exist for millennia, where you're starting to talk about a 10+ minute offset at the current rate.
But I do think there is a valid argument that the infrequency of these events cause more issues than maybe one large adjustment 500 years from now would cause. Not sure where I land on this one.
Can you explain how a 10 minute offset would affect you in any way?
For 99% of the world today, high noon =/= 12:00:00. Nothing breaks because of this. The world continues to run.
> since 1972, which is only 44 years ago
Thanks for making me a decade younger :)
The problem is that Earth's rotation isn't consistently faster. Some years leap seconds need to be added, some years they need to be removed. Would be far better to leave them alone, let them average out, and as the GP said let the people who care about this add the offset they need.
> Some years leap seconds need to be added, some years they need to be removed.
Is that true? Per Wikipedia:
> Since [1972], 27 leap seconds have been added to UTC, with the most recent occurring on December 31, 2016. All have so far been positive leap seconds, adding a second to a UTC day; while a negative leap second is theoretically possible, it has not yet occurred.
Either way, it's due in part to Earth's rotation slowing down, so the average drift would still be non-zero.
We've not had to apply negative leap seconds yet since leap seconds were introduced in 1972, but that wasn't the point.
The time period of the Earth fluctuates a lot [0] and actually in 2020 it was less than 24 hours, but not a large enough change to warrant a negative leap second. If you go back to the 1940s, we would had needed negative leap seconds if we had leap seconds at all then, and going back 150 years we would have needed multiple negative leap seconds every year for several consecutive years.
What we can say is that on average, it is close enough to 24 hours and the average over hundreds of years is even closer to 24 hours that it's not worth adding these extra seconds as you'd then need to remove them again later on.
[0] https://c.tadst.com/gfx/900x506/graphlength-of-day.png from https://www.timeanddate.com/time/negative-leap-second.html
Unless you want to abolish timezones entirely, which would simplify clocks but complicate a whole lot else in society, you're going to need leap-something. Would leap minutes or hours really be much better? The idea that doing things less often causes more problems is a reasonable one.
In the 56 years since UTC was established, there have only been 37 leap seconds. At that rate it would take more than 5400 years before it would affect solar noon more than DST does. I'm more than okay kicking the can that far down the road in the name of avoiding all the ridiculous solutions that are needed to accommodate leap seconds. We've endured these headaches to potentially solve a problem for people who might not even still be using UTC.
Compare that to removing the leap day, where the start of seasons would be noticeably affected within just a few decades. Hundreds of years ago, a pretty insignificant headache was invented which is providing constant payoffs.
> The only people who need it are Astronomers.
And anyone that cares about the relationship of the time of day and the position of the Sun.
Granted, it's not a lot, only a minute per century.
Yet high noon at my current location comes at 12:03 (1:03 with DST). It's three minutes off. If I lived further west in my timezone, noon would come much later.
How can people manage with noon off by minutes, yet want leap-second accuracy every 6 months?
I mean, in 53 years we have added 27 leap seconds, so in 119 years you'll have to set your alarm a minute earlier if you still want to arrive on time.
I assumed that leap seconds could be determined algorithmically, it appears I assumed badly. This is a bit of a can of worms...
They basically are, the algorithm is something like:
At the beginning of january and july, observe the difference between UT1 and UTC. If the difference is >= 0.6s, a leap second will be inserted at the end of june/december. Publish the results here: https://hpiers.obspm.fr/eoppc/bul/bulc
There was some talk about a negative leap second† a few years ago:
* https://www.npr.org/2024/03/30/1241674216/climate-change-tim...
† T23:59:58Z would have skipped/suppressed :59 and gone to T00:00:00Z.
You make it sound like time labels like "23:59:58Z" can perform actions (e.g. to skip or "suppress").
I had to look it up: https://www.timeanddate.com/time/negative-leap-second.html . In proper words, the clock ("the one humanity agrees to use) would skip 23:59:59Z.
I wonder how much chaos a minute that only has 59 seconds would cause. Measurements would be off by that missing second (e.g. a pipeline delivering fuel at 60 liters/minute would surprisingly only have 59 liters in that minute..).
> I wonder how much chaos a minute that only has 59 seconds would cause.
The FreeBSD folks test(ed?) their code for these things and it works:
* https://lists.freebsd.org/pipermail/freebsd-stable/2020-Nove...
Of course third-party userland code understanding what happens is another thing.
We should just have a standards body that meets each decade and decides what epoch time every day for the next 10 years officially starts on. Everyone knows ahead of time how it will work, software updates have predictable change intervals, it allows us to refresh time based on policy decisions, and it uses something sane as the backbone of the system.
Next up: DOGE cancels leap seconds. /s