Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Leap seconds make no sense and we should just permanently stop doing them.

It really doesn't matter if UTC drifts away from solar time by an hour every few thousand years.



You are right, and whenever we drifted by 1 hour (or whatever is deemed too much) we can just update each time zone in the TZDB to be different by that amount of time going forward. This shifts the problem from a basically unsolved one (with how no OS properly supports TAI) to a solved one, time zones.

You could even align it with a DST transition in countries that have those where you simply skip one to apply the change.


Hopefully we get rid of DST in the next 1000 years...


Don’t bet on it. Leap years were systematized/invented in 46 BC and are still here, and DST is a thing due to seasonal cycles which aren’t going away either.


I'd argue any system that's affected by leap seconds should be using TAI, and accepting that showing users the time (or accepting user input) is going to require an up-to-date table of conversions (it's not like a leap second is any bigger of a deal than the various changes to timezones).


Exactly, we already store and show dates and times differently due to time zones, just add seconds to that alteration too. we have tzdb, add lsdb for leap second database and we can work out the difference for any time in the past, or near future


At that point, why not just move leap seconds entirely into local time as part of the time zone offset? Track each time zone’s initial, current, and (inevitable for at least some locales) final leap second offset. Include it directly in the numeric expression of the offset. Freeze UTC at the initial offset, update the relevant specs to provide for this, and call it effectively “done”, where “done” is that leap seconds are an entirely human-facing, local-jurisdiction-governed concern, entirely derived from monotonically incrementing base time.


Apart from backward compatibility, sounds like a good idea


The people in charge of leap seconds agree, and they are in the process of being abolished. The ITU World Radiocommunication Conference last year confirmed their part; the next stage is the CGPM in 2026.

https://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-TF.2511-2022...

https://www.itu.int/hub/publication/s-gen-news-2023-2/


That's what TAI is for. Too bad nobody got the memo and everybody stores and communicates UTC, including computer clocks, UNIX time and NTP.

There will be no more leap seconds after 2035, AFAIK.


Sure. So my argument is that everything should use TAI, and local time zones should be an offset from TAI, not UTC (because local times are primarily for humans, and humans don't care about extremely slow time zone drift that leap seconds are designed to prevent). Then we can abolish UTC entirely since it serves no purpose.


The problem isn't really about handling local time. UTC is an offset from TAI and time zones are offsets from UTC, it's overall really just an offset from TAI. Coordinating the TAI-UTC offset is not any worse than coordinating time zone offsets.

The complications are around clocks, UNIX timestamp and NTP, where a steadily and monotonously increasing number would make the most sense, and that's not UTC.


Good news, the 2038 Unixtime mess should give some impetus on cleaning this all up before then.


Also, if we don't get some calendar reform, by the year 17000, the northward (spring) equinox will be around February 23rd.


Leap seconds are eliminated from UTC by 2035.


That's great news.


Leap seconds should be first-class instead.

https://gavinhoward.com/2023/02/make-the-leap-second-first-c...


Why are people downvoting this comment? Genuinely curious what's not to agree with here.


I'd guess it's because it's the usual hubris, that a software engineer's loose thoughts are worth more than the wisdom of experts in the field. It writes off all the current work as simply useless without giving any defence of that position etc.


Okay, what do you think is useful about leap seconds?


Without them, one can compare the eventual correction that will be required to bring our clocks back into line with the Earth (and our biology!) akin to the shift from the Julian to Gregorian calendar?


No, it would just require time zone changes, which already happen a few times a year which we already know how to deal with (the TZ db).


I'm not sure why you think I'm qualified to give a suitable answer to this.

Did you ask the person above to explain why they aren't useful?


Okay, fair enough. I'll elaborate. Here's why I don't think they're useful: leap seconds exist to align standard time with the sun. But humans are the only ones who care about sun alignment; computers don't. And the effect of leap seconds is so microscopic that it doesn't matter to humans, especially since the alignment is inexact anyway (solar noon is never at exactly 12:00 PM on any given day except at one particular line of longitude per time zone). For getting it roughly aligned, which is what humans care about, we already have time zones with fixed, rarely-changing offsets from UTC, which I am not proposing we get rid of.

Since leap seconds don't help for subjective human needs, and they _also_ don't help for computers, science, engineering etc. (if you care deeply about solar noon for some technical reason you should use something that tracks it more precisely than UTC anyway), I can't think of anything they _are_ useful for, except for saving our descendants thousands of years from now from having to change time zones when it drifts far enough to matter, which I think is a speculative and not very compelling reason.

I'd happily change my opinion if I heard a good reason for keeping them, so I object to claiming that this is "hubris".


> (solar noon is never at exactly 12:00 PM on any given day except at one particular line of longitude per time zone)

According to the 20. amendment the term of an US president starts at Noon, 20 Januar. Simply noon. The USA seems to interpret it as 12:00 ET and makes it ceremonial inauguration for that time, possibly also the transfer of powers. But solar noon on the steps of the Capitol seems to be at 12:18 ET, I researched back at the last inauguration.

This discrepancy seems to be a great premise for a legal thriller, a political thriller, or sadly for a conspiracy theory. The latter definitely has some fertile ground.

The americans should start using the Washington Monument as a solar clock for this ceremony, imo.


Thanks, that sounds quite reasonable to the untrained ear.

Just wanted to say I didn't downvote the original comment, I was only trying to guess about how others were perceiving it.


Chesterton's Fence. Why were they invented and implemented?

That has to be justified before scrapping something we don't necessarily understand and a lot of programmers are just grateful we have libraries to handle this complexity for us.


> Why were they invented and implemented?

Because one cannot ignore nature?

I suspect the vast majority of those programmers who have problems with leap seconds should really be using (and are unaware of) TAI.


>Because one cannot ignore nature?

Sure we can, in computing make abstractions that ignore nature all the time. As long as there's no issue (or no big issue) with them being out of sync, we're fine.

Besides there are few things natural about how we handle time, those are already big towers of abstractions on top of the movement of celestial bodies that simplify and sidestep a lot of subtleties.


The world doesn’t use TAI. If I’m making a train booking app and the train departs at 21:50 in Germany in the summer, it’s not departing at 21:50 TAI+2, it’s departing at 21:50 UTC+2. So you cannot avoid using UTC.

Programmers simply deal with the world as it exists. Every single country uses UTC therefore that is how time must be represented. It is easier to remove leap seconds from UTC than it is to make all countries adopt TAI at the same instant.

The concept of leap seconds can of course be preserved by defining a new time standard that isn’t called “UTC”.


TAI is ‘a second always takes the same amount of time, and the number of seconds is always increasing’. Which is really useful in the real world when tracking/counting events every second all the time.

Because leap seconds cause weird gaps or overlaps (depending on how they are happening).

This doesn’t matter for pretty much anyone who doesn’t track/log/act every second all the time in a way where if a second ‘disappears’ or happens twice or takes longer on one day than on another it’s noticeable.

When monitoring or tracking large scale systems, it’s a really irritating problem, which is why TAI is nice and exists in computer land. Also why it’s nice for many scientist types.

For everyone else, something like UTC layered on top is more than good enough. Leap seconds are fine enough there. Same with most timezones, and PDT/PST, etc.


The comment justifies it no worse than how the Fence principle is justified


It's something people have strong opinions on. Obviously some people want to get rid of leap seconds but I personally like UTC with leap seconds. The only change I'd make is to require leap seconds to be announced several years in advance (which would require allowing a slightly bigger divergence between UTC and UT1). Computer systems should gradually migrate to using TAI internally, but a clock on the wall or a bus timetable should using something like UTC: something that, you know, stays in sync with the actual sun. Saying "oh we'll shift all the time zones around one day" isn't an acceptable solution as far as I'm concerned. And I don't believe leap minutes would work any better than leap seconds: in fact I'm fairly certain they would be a whole lot worse.

Anyway, that's an explanation of my opinion. Many people will disagree with it.


> Saying "oh we'll shift all the time zones around one day" isn't an acceptable solution as far as I'm concerned.

Why not? Time zones change constantly. Dealing with changing time zones is something we already know how to do easily.


I don't think it's true that "changing time zones is something we already know how to do easily". At least not with the word "easily" in there. Time zones cause a lot of problems, which is why we don't change them constantly. And it would be nice to have a future in which time zones are changed even more infrequently rather than one in which they have to be changed to things like UTC-37:00 because they are specified in terms of a UTC that has become unmoored from the diurnal cycle of day and night.

But probably the main argument against getting rid of leap seconds from UTC is that we already have TAI for anyone who wants something like UTC but without the leap seconds. In fact we already have two things that are like UTC but without the leap seconds: there's TAI and there's also GPS time, offset from TAI by 19 seconds. If that's what you want, use TAI. Or use GPS. What's the points of adding a third kind of time that is just like those two but offset by yet another small constant offset?

I tend to think that there's a real use for something like UTC that stays in sync with the Earth's rotation (and thus with the diurnal cycle of day and night) and that if some coterie of bureaucrats turns UTC into another version of TAI/GPS then probably someone else will at some point have to invent another thing to replace UTC and then we'll be roughly back where we started just with extra confusing complexity.

Imagine you want to specify the date and time of an international online meeting. Today you'd probably use UTC for that. But if most of the world were more than 24 hours offset from UTC then using UTC would mean specifying the "wrong" date for the meeting. You probably wouldn't want to do that so instead you'd use whatever new thing has been invented to replace UTC, something that has leap seconds or leap minutes or leap hours (or leap days?) or some other way of staying in sync with the calendar. Leap seconds seems to me like the right granularity: they're small enough to be ignored for most everyday purposes, and frequent enough that programmers can't just pretend they don't happen.

(Sorry for the waffle ... I didn't intend to write that much. I should definitely care less about this seeing as whatever happens I'll be dead long before the shit hits the fan.)


It will take something like 5,000 years for solar time to drift from TAI by more than an hour. Given that time zones change a few times a year in random parts of the world (for example, eastern Kazakhstan changed from UTC+6 to UTC+5 to unify with the rest of the country this year), adding another occasion to change them every few thousand years makes no meaningful difference.

Your example of getting so far off that we have to change _days_ would take several times longer than the distance between the invention of agriculture and now. Honestly, I would be extremely surprised if human civilization survives that long, but even if it does, our descendants can just deal with the problem then. There's no reason to make our lives more difficult _now_ just to deal with this very niche hypothetical scenario.


It's disappointing to see a well made argument like yours downvoted on HN.

Downvoting is meant for text that detracts from the conversation. Not as a tool for suppressing well made arguments one disagrees with.


With you on this. Also (in probably increasing order of controversy):

1)daylight savings should be completely abolished. It just causes confusion.

2)timezones should be completely abolished. They also cause confusion. If you live in California, instead of getting up at say 8am you get up at say 3pm. There is never any confusion with anyone globally about scheduling anything.

3)Months should be the same length. Instead of 12 months of 30, 31, 28 or sometimes 29 days, with a varying number of weeks in each month depending on the year, you have exactly 13 months of 4 weeks each (28 days). 13*28=364 which gives you an extra day "New years day" or "Christmas day" or whatever but that isn't a day of the week. If it's a leap year the day after that Christmas day is "Leap day" and it also isn't a day of the week. Then a particular date is always the same day of the week, months are all 4 weeks, quarters are exactly 3 months and 1 week each and have the same end dates every year etc. Tons of benefits.

Literally the only downside people come up with when I mention it is "yeah but imagine if your birthday is now a Monday, that would SUCK!"


> 2)timezones should be completely abolished. They also cause confusion. If you live in California, instead of getting up at say 8am you get up at say 3pm. There is never any confusion with anyone globally about scheduling anything.

But, err, "am" and "pm" refer to where the sun is in the sky. That's their literal meaning. It's useful information. Timezones are (obviously) a physical thing. Abolishing them to aide the comparatively tiny number of people worldwide who need to schedule a phone call with someone in another country is pretty bonkers IMO.

Furthermore, I don't want to be booking a flight home from Australia to the UK, pick a 9am departure from SYD only to discover it's in the evening.


That meaning is a human construction. It already doesn't mean where the sun is in the sky in the current location, it means in a single specific location per timezone. We could just agree that it means "where the sun is in the sky in Greenwich, UK"[1]

[1] Notionally. Obviously the sun is not often in the sky in London.


2 will continue causing confusion: "is it ok to schedule this for 1pm or is that too early in California?"


That already exists. It is my daily life in fact. eg "Is 8am PST too early for folks in IST?" literally is all day every day.

For example I literally have 3 emails in my inbox at the moment that arrived overnight from people in California saying some variation on "I saw a slot in your calendar for xpm PST, is that too late for you in London?".


The set of people who care about anything that using one time zone for everyone would fix (mainly programmers who have to deal with time zone conversions) is much smaller than the set of people who care about the things it would break: anyone who wants to understand the shared global culture around local times (for example: anyone who travels to other time zones regularly, or even anyone who watches foreign movies or TV and wants to understand what the characters are talking about when they mention time of day).

That's why I support getting rid of leap seconds, but not getting rid of time zones: the number of people who leap seconds helps is very small (possibly zero) since their effect on everyday life is microscopic.


Yeah I know. I'm not actually seriously entertaining the hope that 2 or 3 happen. Eliminating DST would be I think also be a genuine benefit to almost everyone with very little downside.


People are going to keep living their lives approximately according to local solar time, which means that the meaning of X time in practical terms ("is this a good time to call?") is going to be different from place to place, so people would need some way of looking up the normal schedule of a particular location. And now we've re-invented time zones but probably with slightly different details, meaning that we can't just re-use the old time zone tracking infrastructure as is.


> 2)timezones should be completely abolished. They also cause confusion. If you live in California, instead of getting up at say 8am you get up at say 3pm. There is never any confusion with anyone globally about scheduling anything.

Good luck selling a large swaithe of humanity that Tuesday will turn into Wednesday at some point during their working day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: