As one HN comment said years ago: I feel leap seconds have always lived in the wrong abstraction layer.
They should live in the same abstraction layer that does leap days and daylight savings: the time zones.
As one HN comment said years ago: I feel leap seconds have always lived in the wrong abstraction layer.
They should live in the same abstraction layer that does leap days and daylight savings: the time zones.
Leap days, February 29th, are not at the level of time zones. Different time zones do not disagree as to when March 1st will occurs immediately after February 28th.
The changes in Earth's rotational speed that leap seconds help account for affect the whole globe. Why shouldn't the effects be noted in the global time standard?
Same with leap days though?
The point is that it's weird that we handle a day every 4 years off in a different way to a couple of second being off.
Don't we handle them mostly the same? In a leap year, the month of February gets a 29th day, labeled 29. On a leap second, one of the minutes gets a 61st second, labeled 60. Or we drop the 60th second, and second 58 is followed by second 00 of the next minute.
The notable differences are that
1) the leap second happens at the same time globally (23:59:60 UTC), while leap days start at 00:00 local time
2) leap seconds happen at irregular intervals
3) leap seconds are nearly universally implemented wrong, because the ability to show :60 on a second display for for one second at most twice per year is just not worth the implementation complexity
You could argue about 1, but the alternative would lead to much more complicated timezone math (time zones can be an additional one second apart from each other depending on whether the leap second is already applied) for very limited benefit. Number 2 seems unavoidable, and 3 is entirely unintended, just the way things have worked out in real life
The leap day system handles the mean, the leap seconds handle the variance around the mean. The need for leap seconds is not predictable—they zero out accumulated error.
No, they handle totally different things. Leap seconds handle the earth spinning at a varying speed. They would be a problem even if the sun didn't exist. Leap years handle the fact that earth spins don't evenly divide orbits around the sun. They would be a problem even if clocks didn't exist.
We can imagine a system where leap days are split into mean and variance: This would look like a council coming together every thousand years to decide if that year will have a leap day or not, but otherwise we follow the pattern.
We can also imagine a system where leap seconds are split into mean and variance: Many years from now when the Earth is notably slower, there's a guaranteed leap second every odd month, and sometimes there's an extra leap second in June.
Leap days are predictable whereas leap seconds are not.
god that would be awful. Can you imagine time zones being one second off from each other. Or two or three? ah yes, india is GMT+4:30:03, where europe is GMT+0:59:58
Already a thing between UTC and TAI.
Right, and orders of magnitude more people have to deal with UTC and timezones compared to TAI and the offset. So it's good to have it in the layer that it's in
The TZDB could handle it though
https://m.xkcd.com/2867/
I had not seen that. In the nineties I worked on an alerts system where you could sign up for like some sport or weather data at a certain time of day. We stored the alert times as minutes before midnight and then ran the time to trigger calculations often enough that unless you were some freak that wants weather alerts at 2 am it basically worked to send one alert each day at the appropriate time; we had a special non-OS copy of the tzdb as the users were global. One quarter I forgot to update it and everyone in Mexico City got their alerts one hour off till someone complained and I updated it. We also had data feed alerts, like score changed or stock hit x% over previous high, where the problem is some data is manually entered and can be off by a factor or two of ten from time to time. Had to be filtered. I had a lot of fun.
Yes! I yearn for the day when central daylight savings time is 1:00:00:36 behind eastern time, but standard central time remains offset by 1 hour exactly (except for leap years, which are obviously 1:00:00:36 offset all year round).
That would create much more chaos, because every region autonomously decides on its timezone(s). You'd have different countries and/or timezones using different leap second counts.