upvote
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.
reply
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?
reply
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.

reply
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

reply
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.
reply
Leap days are predictable whereas leap seconds are not.
reply
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
reply
Already a thing between UTC and TAI.
reply
The TZDB could handle it though
reply
reply
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.
reply