What causes the unpredictability in this? I would have guessed we have earth's rotation and orbit down to many decimals. Does geological activity, weather, or something else cause rotation speed differences that we just can't predict?
In short, yes, the weather, geology, and signicantly, human movement of water via aquifer draining and dam building, as well as glaicial and ice melts, all contribute to unpredictable changes in the earths rotational period, as well as the axis of rotation. The models for this are IIRC trigonometric polynomials of fairly low order, so even if we could model the unpredictability perfectly, truncation error would limit our ability to distribute the model at super high accuracy. The existing models are built in to, eg, satellites, so you can't just make them arbitrarily complex.
Fun fact: leap seconds will stop being a thing soonish. I think they phase out in 2035, with a delay because Russia needed time to update glonass satellites.
(Note: on mobile, this is from memory, details need checking ;))
Everybody agreed that "Leap seconds" are a sufficiently bad idea that they should be replaced by 2035. Nobody has agreed how to fix it, and "Just turn them off" isn't technically legal. However, "What if there were Leap hours instead?" is technically legal and of course those hours would happen in the very distant future (likely after our civilisation is gone) so it's functionally identical to "Just turn them off" but without legal problems.
Now, I'm English, and England loves this sort of hack. You may have heard that controversial UK politician Nigel Farage "resigned" as a Westminster MP recently and that's not technically true because you can't resign, historically people hated that job and so you can't resign and we never changed that, but what you can do, and everybody does, is get assigned an "Office of profit" in which legally the King is paying you, an MP can't work for the King so you can't be an MP any more. The "Offices of profit" in question aren't real jobs† and don't pay real money, like this "Leap Hour" they'd be a legal fiction. So everybody says you "resigned" but in fact you legally can't do that...
† I mean, historically they were real jobs that made sense which is why the King paid somebody to do them, but England is very, very old so they haven't made sense for centuries and serve only as a legal fiction today.
On the subject of amusing British political legislation, should he defeat Nigel Farage in the resulting by-election Count Binface will not be able to wear his costume in Parliament; not only is business attire required in the House of Commons, it's specifically forbidden to wear a suit of armour there due to a law from the 14th century.
For those unaware, the major parties have declined to participate in the by-election triggered by Farage's resignation seeing the whole thing as a farce. As a result Farage will likely face only Count Binface, a space warrior from Sigma Six. He'd get my vote purely on the basis that he's promised to bring back Ceefax, and build at least one affordable house.
Comments like this make me really worry for the future of Hacker News. Here we are, on a seemingly informative thread, and you’ve jumped in with baseless political propaganda no doubt designed to influence the upcoming election.
His honour Count Binface is from Sigma IX not Sigma 6! To lump him in with those scurrilous, pro-littering hoodlums is the kind of anti-Recyclon smear I would associate with Sigma X’s online forums, not this place!
Between 2002 and 2013, Hartlepool in North East England elected a local football mascot known as H'Angus the Monkey as their mayor, winning three elections. I think he did ditch the monkey costume between elections, maybe Binface could do the same?
Quite a few MPs in Westminster already don't take their physical seats in Parliament (and never vote or address the House) because the conditions attached to doing so aren't compatible with their principles. Maybe Count Binface will be the next.
It's understood by constituents that a vote for a Sinn Féin representative is a protest vote that results in specifically nobody going to Westminster to represent you. I cannot imagine that any significant number of people vote for them and are then astonished when this has the effect everybody else expects.
On the other hand, Binface has not, as I understand it, ever said he would not serve if elected. He's made it clear that he's not from Clacton (or Makerfield) -- because he's a space alien -- but I believe he said if he won he would move there so that's fair enough if the constituents want him. They previously elected Nigel, and he's rarely in either parliament or Clacton so Binface can't be worse than that.
Either way, it's a contest already bringing out the sporting punters and popcorn eaters of Australia: Joke Candidate To Face Count Binface in UK By-Election
Likewise, nobody will be all that surprised, or disappointed, if Binface never takes his seat. It's much more of a protest vote than voting Sinn Féin in Northern Ireland, and voters will have achieved their aim of Farage not getting in.
Actually, I'd take issue with describing Sinn Féin as a protest vote at all. They've historically been the only choice that even claim to represent constituents in many areas. And they do seem to do much of the work of an MP (writing letters on behalf of constituents, lobbying government agencies...) they just don't vote or debate.
Agree that SF is not a protest vote but they do vote and debate. Since their first major electoral victory over 100 years ago they have been clear that they represent their constituents to the best of their abilities (I won't opine on the quality of representation in this forum). That has always involved a cabinet, votes, debates, and eventually a bicameral legislature.
The key aspect is that they consider the English government to be a foreign government and so they avoid involving it in the work that they do in Ireland for their Irish constituency. Statements about the illegitimacy of their government historically come from conservative English sources. But the fact is those SF debates in their "protest government" formed the foundation of the modern Irish state. They are a protest vote in the same way that the US Constitutional Convention was.
By the same token, they consider legislating on affairs that pertain to the English, Welsh, and Scots to be none of their business. To take up seats in a foreign parliament would be to meddle in the affairs of a foreign, sovereign nation. And that would be hypocrisy!
The thing is, an SF MP can't vote or debate because they, by policy, refuse to attend.
You're correct that the party has representatives in the other bodies which it does recognise but those aren't the same people.
So for example Órfhlaith Begley was elected MP for West Tyrone. Her voters will have known she's not going to Westminster, and she didn't - but she's not in some parallel institution instead, AFAIK there isn't one. Nicola Brogan represents West Tyrone as an MLA in Stormont, because Sinn Féin does recognise the Assembly and you can't say well but there's a body in Dublin. Dublin doesn't control West Tyrone so what would she even do there?
But Órfhlaith Begley does go to Westminster, and she has an access badge for the Houses of Parliament, and she flies over there and works in her office in the parliament buildings and answers her @parliament.co.uk emails and asks her staffers (paid for by the parliament) to respond to letters on paper headed Órfhlaith Begley MP. All the work of an MP except the most performative part.
She just doesn't go into the room which is called the House of Commons and try to speak or vote there, because the armed guards at the door won't let in anyone who doesn't swear allegiance to the King. If swearing allegiance to the King was a requirement to use the email system, then she wouldn't do that either.
More specifically, that refers to the Northern Irish MPs from the Sinn Féin party who do not recognise the UK Crown as a lawful authority in NI, and hence, refuse to take an oath of allegiance to it. (They used to not recognise the Republic of Ireland as well, until the 1980s I think.)
I think they don't approve of the Crown as an authority even if they agree it's lawfully established?
It's more like an atheist refusing to swear an oath before God in a courtroom: even if you agree that the law says you must do so, you might still not want to give God that recognition. But worse, because God might also be the defendant and the judge in this case, and you have to swear not only that He might witness your testimony but also that you pledge allegiance to Him, so swearing that oath really impairs your ability to participate in a fair trial.
For oath swearing it turns out atheists weren't why we fixed that. Some of the Christians also refuse to swear oaths. For Quakers obviously God exists - they're Christians, but a mere court of law here on Earth is no reason to go around swearing when they believe God has explicitly ordered them never to do that. They'd need orders from God, not some judge.
So for them rather than for atheists England made it possible to Affirm that you're not lying. This will work in Parliament, and it's pretty routine these days that a new member is like nope, no swearing for me, I can promise I'm not lying but I never swear or I won't swear to God.
However, Parliament does require allegiance to the King because this is a constitutional monarchy, if they wanted to be a Republic they'd get rid of the King as a group, that's not up to you as an individual member. Not much notice is taken of how much you seem to mean it about allegiance to the King, because after all plenty of members are known to hold Republican sentiments, but you are required to say the words unlike the stuff about swearing which is optional.
Binface's speculation to the media is that the Monster Raving Loony party may split the vote with Farage instead as that is closer to where his loyalties lie.
Their policies are obviously not compatible, I just don't see how that could work out for either party. Sure you could get more votes that way, but the honourable thing to do is to run seperately.
More appropiate would be the legal inability to resign from the house of commons, thus having to be appointed to a specific office of the crown which is incompatible with being a member of the commons.
There were arguments that the government should refuse Farage's appointment because he's doing it to stop the clock on investigation into his various financial dealings. While against constitutional law to decline such, it was discussed in similar situations in the past - fairly recently in fact for the same reason -- Henry Cadogan in 1842
On the subject of headwear in parliament, I quote the member for Hereford who yesterday in parliament said:
> How very different from the forthcoming by-election in Clacton, which appears to be a choice between a novelty comedy act with no real policies, and Count Binface. It is a long time since we had a count in the House of Commons, and when the time comes—as it surely will—we will have to leave to you, Mr Speaker, the delicate question of whether and how to suspend the rules on headgear in the Chamber for the new Member.
Which implies that the laws around headgear are at the behest of the Speaker.
There is precedent in electoral history for election of people dressed as a figure -- H'Angus the Monkey (a football mascott, not an actual monkey) was elected Mayor. However on the ballot paper his entry was
STUART DRUMMOND Independent
Where as Binface's is
Count BINFACE Count Binface Party
Given Farage received a mere 45% in 2024, and a unity candidate beat an incumbant mp who previosuly had 55% and was mired in a similar scandal back in 1997, it's not impossible.
How is this relevant to the current topic? I don't have any context on political stories you are discussing, but I am fairly sure that this isn't the place to do so, not at least this thread.
With all due respect, this is the kind of attitude which caused people to leave Stack Overflow en masse. We're discussing interestingly complex political procedures, this event has triggered several.
The co-ordinated universal time, UTC exists by international agreement. In the 1960s lots of countries signed a treaty so that's the "authority" AIUI.
The treaty says everybody agrees that this new standard will try to track "solar time" which felt intuitively reasonable. They want something equivalent to the old GMT which was really based on solar time, except more modern. At first the idea was, well, we just work out how fast this damp rock spins more precisely and we can use that to ensure everything works forever.
More precise measurements of the damp rock showed that, annoyingly, Mother Nature did not provide the spinning rock as a precise clock, it spins slower and faster according to a huge number of variables and so the best we can do is measure the spinning against an actual clock. So, "Leap seconds" were born to meet that legal requirement to have UTC match the solar time.
The "leap hour" would likewise fulfil this requirement, just in a deliberately useless way because we actually do not care about precisely tracking solar time. If we did, almost every human in the world would be perpetually annoyed because of course our present system of "time zones" means on average we're at least 30 minutes wrong!
Basically we guessed wrong. We thought knowing "Solar time" would be more useful than in it, and we thought these "Leap seconds" would be less trouble than they are.
It's like you buy a cat to help with your rodent problem, figuring the cat will eat mice and isn't much trouble to look after, but after purchasing a cat you find that your problem was actually rats, your cat is terrified of these large dangerous creatures and sometimes gets bitten by them necessitating expensive vet bills and now you need to pay a lot of attention to the poor animal and also now need to buy cat food.
Heh, I like the analogy but my question was really why it was considered such a hassle.
I mean we deal with daylight saving time all the time and I know it's not the same because the leap second affects UTC, not just local time zone, it's just that you are either dealing with monotonically increasing time like epoch, or you are dealing with "human" time and I found no distinction in the latter.
Is it "just" that leap seconds or delay seconds caused problems in epoch to utc conversion? Note the just in quotes, but did I just answer my own question? :)
It's a hassle for anybody doing or recording "physics" as they cannot log against UTC (which may or may not have an added second or removed second in some interval if it happens to overlap the adjustment zone).
Those things that really do rely on actual "elapsed time" rather than the difference between two recorded "book times".
Does this happen? Yes, a few times in my career in geophysical exploration - it's why multiple bits of gear are synced to a reference "real clock" which gets logged against the raw GPS epoch time (real time since Sunday last week(?)) and processed "UTC" time (some variation of it).
The most annoying part is that a lot of GPS gear automatically "corrects" to UTC without giving clear indication of it. Things would'be been fine if the standard was to explicitly sent out TAI timestamps, with a leap second offset for the people who insist on UTC.
Well, yeah, that to - although TBH it's never been an issue in my line of work which started with (LORAN actually, and then moved to..) off book reverse engineering of the OG NavStar format. To this day it's still "raw" GPS packets that are logged - and later post processed for greater accuracy (and often blended with a local area fixed position base stations "corrections" for GPS fix wobble).
There's a lot of fiddly pedantic stuff that goes with scientific data recording, timekeeping is but one domain of possible issues.
It's not solving a very important problem and the edge cases it introduces makes software more complex and bug prone
If the world weren't entirely reliant on software to the extent it is today (like when leap seconds were introduced in the 70s), it wouldn't matter as much.
This seems like an interesting solution, even if it's absurdist at first thought. What if we just shift the steel bar in Greenwich 20 metres east or west instead of adding a leap second?
Then everything would theoretically be correct. The logical next thing to do would be to move all the time zones as well. But time zones already don't coincide with the lines of longitude in practice; they tend to follow country or internal boundaries somewhat close to the lines of longitude (but sometimes multiple hours away!). After a few thousand leap seconds, maybe one or two countries would feel it was helpful to readjust a time zone boundary to better align with solar time, but in practice this would never be the overriding reason for that decision.
You say people's GPS systems would all suddenly be wrong because they depend on locations in latitude and longitude? I don't think this is a problem either: in practice longitude and latitude are given not relative to the steel bar in Greenwich, but to per-continent geodetic datum points. This already prevents continental drift from affecting your coordinates, though a big earthquake can still mess things up.
It's caused significant controversy in my (former colony) country where all other long-term leases are 99 years. The landowners are insisting that their ancestors were cheated and they want their land back.
Everybody agreed that "Leap seconds" are a sufficiently bad idea
No. Not everybody. I prefer accurate time, and all the complaints I've heard hold little water.
My servers need to timesync forwards and back all the time, eg timedrift. They need to jump to new times, or slowly drift, depending.
VMs can be hypervisor starved, or need to move to a new host.
Servers also need to handle missing time. Any daemon or program which cannot handle this is buggy, broken, and needs to deal.
Leap seconds are just part of all of this, and present no new issues compared to normal time change. I question the capabilities of any engineer who singles out time second as difficult to deal with, time is constantly changing on servers. Constantly.
So back to the start, no... everybody doesn't agree. Google isn't "everybody".
Accurate to what though, and for what? We decide what the standard is, and it seems like it would be a lot easier to have accurate time if we aren’t adding or subtracting seconds here or there. Does it really matter if the sun crests the horizon a second earlier than it did ten years ago? If it does, isn’t it much easier to just adjust your sun-cresting time?
There's a long tradition in the UK of having electoral candidates who don't expect to win but run because it's free publicity in a high profile race. "Count Binface" is a comedian who dresses up as a space alien whose outfit resembles well, having a Bin for a face. The serious political parties told Nigel to fuck off, if he wants to step down and then immediately contest the same seat they wouldn't run against him in this farce, but Binface isn't a serious politician so he is running in that by-election.
Nigel wanted to be able to do this whole thing about how the establishment is rotten and he (Wealthy public schoolboy who keeps lying to people and doesn't bother going to Parliament even though he was elected to do so) is a true man of the people and can put things right. It got him this far in life. But with the other candidate on your ballot being a space alien it's obvious which of these options is really "the establishment" and it's not the guy whose policies include "Building at least one house†" and who says he comes from a different planet...
† British political parties often insist they will build lots of housing because that's popular with voters. But, in practice they don't tend to really deliver because the various groups lobby not to actually build. So "at least one house" is a joke about this phenomenon, while conveniently also being technically possible, Binface could just build a house, that's a thing you can do.
I think it's more than publicity. Anyone can stand as a candidate, and anyone can vote for them. Money and connections and establishment and everything else don't matter, all candidates are equal on that stage. It's both weird and to be admired.
Nigel Farage has decided to counter a scandal by throwing himself upon his constituents for judgement, the obviously establishment parties have backed off to allow Binface to run against him in a ~1v1, and you think Binface is more anti establishment than Farage?
Yes, the MP, former MEP, and founder of a significant political party is closer to being “the establishment” than the comedy candidate dressed up as a rubbish bin.
The ex stockbroker who lunches with presidents and takes £5m personal bribes in charge of a party sticked with ex ministers of the crown (at least one who took a bribe) is clearly not the establishment.
A frightening fact, the 2011 magnitude 9.0 Tohoku Earthquake shifted the position of the Earth's figure axis about 17 centimeters, making days about 1.8 microseconds shorter.
> The models for this are IIRC trigonometric polynomials of fairly low order, so even if we could model the unpredictability perfectly, truncation error would limit our ability to distribute the model at super high accuracy. The existing models are built in to, eg, satellites, so you can't just make them arbitrarily complex.
What are the satellites doing with the models? They're not deciding leap seconds on their own, I hope. So I don't see why the leap second decision would be locked to low accuracy.
Also I would expect doubling the precision to give you a 3-4x slowdown on the math or adding orders to have less effect, and the amount of available computation spent on those models to be like a tenth of a percent at most, so the extra cycles wouldn't be an issue. What am I missing here?
To me it seems like unpredictability is the only real issue.
> because Russia needed time to update glonass satellites.
Why is this? As leap seconds don’t occur on a regular frequency, I assume they are not hardcoded on the software or hardware on board, but the control centre uploads them on the satellites enough in advance once they have been scheduled. So why can’t the control centre just stop sending those updates?
My understanding the problem is that GLONASS is aware of leap seconds at all. It sends messages in UTC, which has this leap second funny business. GPS uses a special "GPS time" (sometimes abbreviated UT) that doesn't have a leap second. For further confusion, the leap second ensures that UTC is never more than 0.9 seconds off of mean solar time, aka UT1.
This type of assumption that was made early in a massive software and hardware project that's now been ossified for ~50 years is going to be hard to change.
Yes, all of those and more. Our measurement precision is much better than the year-to-year first and second derivatives of day length. https://datacenter.iers.org/singlePlot.php?plotname=Bulletin... has the most relevant plot to this; the vertical jumps reflect leap seconds. (IERS has other plots for other dimensions of rotation, but I like this one.)
Seems like the seasonal change in June-October increased
My best guess would be it's somehow related to water distribution? More water going into the atmosphere? Glaciers growing (unlikely)? Did multiple huge water reservoirs go into service and get filled up over the summer months?
Since I was checking the Wikipedia article anyway (for when the last leap second was inserted), it also has an answer for this:
"Because the Earth's rotational speed varies in response to climatic and geological events, UTC leap seconds are irregularly spaced and not precisely predictable."
Quite the opposite. The earth's rotation can vary by quite a few seconds each year. But over hundreds of years, the variations mostly cancel out, which is why I think trying to add or remove leap seconds are a bad idea. The only people who care about such things are space agencies, and they can apply whatever offset they want, it doesn't need to affect everyone else.
Arguably, the only real-world impact this drift has on normal people is GPS, but GPS already transmits an offset from its own clock so that receivers can correct for that. The GPS clock is different both from UTC and TIA.
I don't think we know this do we? we haven't been measuring accurately enough for long enough to be confident that it does in fact cancel out. In fact for the period of time where we've been applying leap seconds they were happening with significant frequency and always in the same direction. It's only been very recently that there's been the realistic suggestion it might drift in the other direction.
If anything people have been suggesting that if we do get rid of leap seconds that we can just wait until the offset is enormous instead (say an hour) because it would take a very long time to happen. But even still, that does actually affect everyday people (because people would surely notice when solar noon is an hour later/earlier). Although pragmatically the obvious solution there is to change timezone instead.
Among other things, turbulent currents of liquid iron in the Earth's core can make the core drift eastward or westward, which causes the crust and mantle to turn slower or faster. Same thing with the strength of the jet stream.
Isn't this anti-news? I vaguely remember they have stopped introducing leap seconds until further notice because they cause too much trouble with today's computing systems. On my phone now and did not research it, as I say vaguely remember. Now we are 37 seconds off. Nobody of us will have to worry that Christmas is around Easter time. We can leave that problem to future generations much more responsibly than many other problems.
That the notice comes every 6 months is just to meet the letter of the original international treaty.
No, they haven't done that yet. It's just a proposal, but it's not likely to be formally stopped until 2035.
The reason we've stopped having leap seconds is because the drift between TAI and UT1 slowed down and has actually been very slowly drifting in the other direction.
The fact that it’s only 6 months seems insane to me and probably the cause of the problem, if time was +- 60 seconds nobody would notice, so a more manageable solution would be to implement an arbitrary leap about once a decade, with a decades notice so everyone can sort their systems with plenty of notice. 6 months for a world wide coordinated execution is laughably optimistic.
With the Temporal API will all of the browsers / nodejs etc be able to get the time right when performing operations around that time or will they need to be updated in order to not mess up calculations?
Temporal API seems to be based around Unix/POSIX timestamps, which ignore leap seconds. In Unix time a day is always 86400 "seconds". This makes it trivial to do UTC calendar arithmetic into the past and future without recourse to a database and without necessarily having to deal with fractional seconds. Leap seconds are handled by the OS by repeating or skipping a second, or slewing the length of a second for some period before and after the leap second.
Most datetime APIs are fundamentally designed and intended for supporting calendar and wall clock operations for business functions. If you need SI seconds for scientific purposes, you really need to use alternative APIs and facilities that provide and guarantee the semantics required all the way down to the hardware level. Likewise, if you want timers, etc, for software facilities like thread sleeping, you use dedicated interfaces like monotonic clocks. If leap seconds are phased out, this won't really change the situation. It was wrong for software to rely on Unix timestamps for, e.g., mutex algorithms before and it'll be wrong if and when leap second clock adjustments are gone.
UNIX timestamps are fully ignorant of leap seconds, i.e. pretends they don't exist. That means there can be physical seconds of time that cannot be referenced with a UNIX timestamp (when a leap second is inserted) as well as UNIX timestamps for seconds that don't exist (when a leap second is deleted).
It also means that if you subtract two timestamps, you might not get the actual time between them. Though this is also true of most ways of representing time (TAI being a notable exception).
The really annoying part is that "leap smearing" (where people decided to just mush the leap second across about day) has made CLOCK_MONOTONIC unclear in this regard, since some leap smearing approaches affect that as well. Which destroyed any assumption a developer could make about CLOCK_MONOTONIC, since you won't know if leap smearing is in use :(.
(And depending on the leap smearing implementation, it also smears CLOCK_TAI, jumps it to opposite polarity at the actual time of leap second, and then smears it again. The leap smearing people really made a mess of this.)
From a correctness perspective, the only good choice is to go all-in on TAI.
[Ed./P.S.:] "just ignore leap seconds" - that's going all-in on TAI. At this point it's probably easier to redefine UNIX timestamps as TAI based after 2035 ("abolishing leap seconds"), and introduce a new CLOCK_SOLAR_EARTH that accumulates leap seconds and can be used if/where necessary. The main issue is to create a proper delineation between the two clocks, which we just don't have at this point. Way too many systems where it's just not clear what they use.
And note that leap seconds are earth specific too. You'll have entirely different requirements on e.g. Mars.
I don't understand what you mean. Doesn't smearing still mean the clock only goes forward? It's still steadily incrementing. The only difference is that a second is slightly longer/shorter than you expect, but you already have to account for that if you're doing the kind of physics experiment where it would matter.
If you have one event per millisecond then you get 86,401,000 events on a day you smear, and that’s inconsistent with the 86,400,000 you get on days either side.
Well CLOCK_MONOTONIC was a bad name for anything that's supposed to do more than be... monotonic, with mild accuracy, so I'm not surprised things became unclear.
But it is just a basic system clock. Being the wrong speed by 15 parts per million shouldn't throw off your data collection. Lots of clocks are more inaccurate by accident.
I don't think I understand.. can you please dumb it down even more?
I'd figured that UNIX time just counts actual seconds and that leap seconds and similar calendar shenanigans would be a problem of mapping epoch to the correct date, so that if normally epoch X maps to date D then both epoch X and X+1 map to date D.
Am i to understand that leap seconds "stretch" a epoch unit ? so that some epoch second "lasted longer".
Unix time does not count elapsed seconds in real time since 1970-01-01T00:00:00, this is a common misconception.
Unix time assumes a fixed number of seconds per day. 86400. If a leap second is inserted, either end of June or end of December, the day is 86401 seconds long.
There are different implementations for how your Unix time will behave 24 hours before to 24 hours after the leap second. A timestamp might just repeat during the leap second or the system changes the length of a second in a time range around the leap second introduction to make up the difference. This is called smearing.
A simple example is the elapsed time between these two timestamps:
2016-12-31 23:59:50
2017-01-01 00:00:10
Unix time differs by 20 seconds (assuming the system/library doesn't use smearing). But actually elapsed time is 21 seconds, since
2016-12-31 23:59:60
was the last added leap second. This timestamp cannot be represented by Unix time (again assuming no smearing, with smearing you could).
The seconds to calendar date conversion doesn't actually need to know about leap seconds.
At the seconds representation level, the same number is repeated twice (or the smearing trategy happens).
So the times before and after leap second get converted the the same date regardless of whether you know about the leap second or not. Edge case is that once second occuring twice. You might have seen that 23:59:60 seconds timestamp somewhere.
> I'd figured that UNIX time just counts actual seconds
It doesn't. UNIX time is 1:1 with what your clock reads, you can convert between 2026-07-10 00:12:25 UTC and 1783642345 by simple math (note how the last digit is the same; but the leap second offset is 37s, that wouldn't align. The TAI timestamp for the same moment in time is 1783642382.)
> and that leap seconds and similar calendar shenanigans would be a problem of mapping epoch to the correct date, so that if normally epoch X maps to date D then both epoch X and X+1 map to date D.
It's the other way around, if you need to get the exact seconds between two UNIX timestamps (or calendar date/time), you need to check if there were any leap second changes between the two.
Counting actual seconds is TAI [https://en.wikipedia.org/wiki/International_Atomic_Time], that one is really just "number of Caesium hyperfine transitions since X", and now the mapping to a calendar date/time for display is a bit involved.
I think for the stretch of time where a leap second is smeared, the epoch second would drift by a tiny fraction for each second or etc? So you'd have some chunk of UTC time where each second lasts something like 1.0005 epoch seconds, maybe? This would make converting from unix time to UTC need extra arbitrary handling for display, at least.
> I think for the stretch of time where a leap second is smeared, the epoch second would drift by a tiny fraction for each second or etc? So you'd have some chunk of UTC time where each second lasts something like 1.0005 epoch seconds, maybe?
Yes, 1.0000116s (or 0.9999884s), and to be clear it was never intended like that. It got started after a bunch of bugs in leap second handling caused issues & some people thought it would be better to just stretch/compress time for a period around leap seconds, for docs refer to e.g.: https://developers.google.com/time/smear
Personally speaking - it's a great way of just pushing the problem around, further complicating an already complex situation. 11.6µs is very measurable on a modern system.
> This would make converting from unix time to UTC need extra arbitrary handling for display, at least.
Except you need to know that leap smearing has been applied… which of course noone records. Most systems can't even signal it, much less store. If you need that level of precision, you better make sure none of your systems uses it or you're just screwed.
Yes, time() and clock_gettime(CLOCK_REALTIME) results are affected by leap seconds.
New leap second will get to your system through NTP. Sadly NTP only distributes indicator flag that leap second is going to be introduced, but not the offset itself. But the distributed time itself is already affected by leap second, so NTP client doesn't really need to know.
(In contrast the other time sync mechanisms - GPS and PTP - use time scale unaffected by leap seconds and distribute it as an additional information with UTC offset. And it's left on client to modify received time on its end. Kernel has a parameters in clock_adjtime() for leap seconds.)
So if you have a passive system that has NTP client then it's time will change for new leap second on runtime. Linux treats UTC time as the dominant one, so that's the one saved to RTC device and will survive reboot.
There is CLOCK_TAI that sounds like it should return TAI time, but it is such a second class citizen to the point that nothing on regular Linux desktop and server distros even set the offset and it returns the same time as CLOCK_REALTIME.
There is a file in /etc with list of leap seconds that is part of some package, so you need to update the system to update this file. I don't believe traditional NTP software updates this package dynamically. But not many software uses it. If some init service script parsed and set the kernel UTC offset then your system's CLOCK_TAI would be one second late from rest of the world until update. But it doesn't affect UTC time on Linux in any way I know.
Whenever leap seconds were added, Google was running the clocks on their servers slower/faster over a longer period of time (hours) so they would slowly drift back in sync with the solid platinum, perfectly spherical grandfather's clock sitting in NIST or whatever: https://developers.google.com/time/smear
For those who need more context of who the Time Lords are
The Time Lords are a fictional ancient race of extraterrestrial people in the British science fiction television series Doctor Who. In-universe, they hail from the planet Gallifrey and are stated to have invented time travel technology.
I think if we're being pedantic, the character's name is "The Doctor". The TV show is named "Doctor Who" but the character doesn't call themself that and a name is what something is called.
[Edited to avoid assigning a gender to a character who has had different genders]
I wasn’t being pedantic, I was (as per my words), providing further context. Anyone who has watched the show knows these things, they are basic information from it. My post and the one I replied to are (obviously) for people who know close to nothing about it, and those people won’t know who “The Doctor” is, the point was to make it clear it’s the main character.
Also, not only is “The Doctor” not the character’s real name, they have been called “Doctor Who” multiple times, including in credits, so you pedantry isn’t even right.
Wouldn't it just be easier to have Superman fly around the planet a bunch of times really fast to do the same thing? Then you wouldn't have to worry about having to deal with all of that engine maintenance.
You could actually move very large quantities of water around and probably have a measurable impact. Like draining the California central valley aquifer.
The Three Gorges Dam has already given us 22 more microseconds in the year. Basically, the Chinese have converted the angular momentum of every molecule on Earth, including you... into electricity.
There's a graphic novel by Cixin Liu "The Wandering Earth" where they not only stop Earth's rotation with this method, but also propel Earth out of the solar system (for what appear to be good reasons, I might add). Can't quite remember what fuel they used for the engines.
IIRC they accelerated rock as the reaction mass. Gigatons of rock accelerated to well above escape velocity and launched from the ground.
In the real world their scheme is doomed as it would strip the atmosphere off of the Earth, but since they were planning to leave the solar system the atmosphere was going to freeze to a solid anyway so maybe it didn't really matter. To be honest I thought the entire scheme was an extremely elaborate cover for the fact the lead ship was the actual ark and everyone else was just plain doomed. This would have mirrored one of the themes in the 3 Body Problem where interstellar space travel is strictly forbidden until everybody can participate at once. The "launch the Earth as a spaceship" concept was so poorly thought out I thought it had to be a fraud in the story, and our somewhat dense protagonists just didn't catch on.
They are good reasons. Conspiracy theorists are able to persuade almost everybody that the reasons were bullshit, an excuse to seize power or something, and so the few who still insist this was necessary and mustn't stop are executed. Almost immediately after those executions, Mother Nature proves them right. So that leaves everybody: Guilty of having murdered their saviours and with no choice but to carry on with the very plan they had insisted was bogus...
There is a Chinese movie but I'm kinda surprised no Hollywood studio got themselves a rights deal and made a US-friendly movie where the Sun conveniently blows up slightly earlier and our heroes are vindicated and everybody agrees they were right all along.
> This means the atomic clock is behind the solar clock by 37 seconds?
If anything, it's the other way around.
A UTC day is defined as exactly 86400 SI seconds. But an actual mean solar day is a few milliseconds longer (although the difference is not constant due to irregularities in the Earth's rotation--but the average difference is expected to slowly increase over time). SI seconds are counted by atomic clocks, so UTC advances its day by one every 86400 atomic clock seconds.
But a solar clock that advances its day by one every time the mean sun reaches noon (it has to be the mean sun because the rate at which the actual sun moves across the sky varies over the course of a year, we need to look at the average) will advance its day a few milliseconds later than UTC does. Or, to put it another way, each time period that the solar clock says is exactly 86400 seconds, is a few milliseconds longer according to the atomic clock.
As this happens day after day, the difference accumulates, and when it gets close to being a full second, a leap second gets inserted into UTC, so that one of its days is 86401 seconds long instead of 86400. The reason for this is that UTC is not just counting atomic clock time; it also has to stay in sync with where the sun is in the sky since so many human activities are tied to that. And we humans have defined "in sync with the sun" to be "within a second of the average sun". In other words, we want UTC noon to be within a second of mean solar noon on the prime meridian.
So the 37 seconds is how far mean solar noon would be behind UTC noon, if we didn't use leap seconds--at UTC noon, the mean sun would be 37 seconds short of actually crossing the prime meridian in the sky.
"In other words, we want UTC noon to be within a second of mean solar noon on the prime meridian."
Why?
If I travel 1 mile east or west of the prime meridian, my solar noon now comes 2-3 seconds earlier/later. It's nearly impossible to have your local time match your local solar noon. For most of the population, solar noon is, on average, 30 minutes off of 12:00 noon.
Um, because it's the prime meridian and that's how UTC is defined?
> It's nearly impossible to have your local time match your local solar noon.
Which is why I specified on the prime meridian, which is the particular local meridian that UTC is defined as corresponding to.
> solar noon varies from day to day by 10-20 seconds.
Which is why I was careful to specify mean solar noon.
I'm not quite sure what your issue is. Yes, we have time zones tied to specific meridians, and the actual sun's speed in the sky varies (which I mentioned in my post, so I'm not sure why you seem to think I'm unaware of it) so in most places local time by the clock doesn't match local time by the sun. Yes, a leap second adjustment to UTC is quite a bit smaller, taken in isolation, than the annual variation in actual solar time vs. mean solar time.
But over time, if we didn't have leap seconds, the difference would accumulate. The accumulated difference now between UTC and TAI is 37 seconds--which is almost twice the maximum variation in actual solar noon from mean solar noon that you refer to. We humans have collectively decided that we don't want that, and that it's better to do the adjustments a little at a time rather than in bigger lumps.
"But over time, if we didn't have leap seconds, the difference would accumulate. The accumulated difference now between UTC and TAI is 37 seconds--which is almost twice the maximum variation in actual solar noon from mean solar noon that you refer to."
No, the 10-15 seconds I mentioned is the daily variation in solar noon.
From the link I posted, in NYC, solar noon on 2026-01-01 is at 11:59am. On 2026-01-31, solar noon is at 12:09pm. In one month, it has drifted 10 minutes. That's much greater than the 37 leap seconds we have added in 60 years.
"We humans have collectively decided that we don't want that, and that it's better to do the adjustments a little at a time rather than in bigger lumps."
Yet we just reversed that decision. No more leap seconds after 2035. After trying it, we decided it was terrible.
> the 10-15 seconds I mentioned is the daily variation in solar noon.
Yes, but averaged over an entire year, it still comes out to zero. The difference between mean solar and atomic time does not. It accumulates over the years.
> we just reversed that decision
We paused it for 100 years after 2035. That doesn't change the physical fact that the Earth's rotation will continue to slow over the long term. We might eventually decide to just not care about that when it comes to civil timekeeping, but that's not what the decision you're referring to did. It just said we can afford to let the difference between UTC and TAI accumulate from 2035 to 2135 (by which time it is predicted to be about a minute) while we figure out what we want to do over the longer term.
> Um, because it's the prime meridian and that's how UTC is defined?
That's an explanation of how it is, not why we should care to preserve it.
The definitions of hours minutes and seconds have changed before, and in recent history.
> Which is why I was careful to specify mean solar noon.
And "mean solar noon" is meaningless to people's lives. Even in the areas where time zones do follow meridians and not country borders that are many minutes off.
For things that need much more precusion than my lunch, ±1 second probably still isn't good enough, so they need another layer of correction anyway. Given that exists, might as well push leap seconds into that layer too.
It’s a huge problem. The most common approach to address it is called smearing; the duration of each second for a 24 hour period ahead of the “leap” is adjusted. For strict ordering systems this works as each device maintains time sync with the global clock, the duration of a clock cycle is just slightly different. I think this was in the original Spanner paper, actually.
Some rare systems use monotonic oscillator seconds and ignore the earth rotation second, but if you ever have to translate those to real time, you get an accumulating disaster over time and it’s generally regarded as not a good idea.
A few years ago, a dispute between Kosovo and Serbia caused the entire European grid to drift away from 50.000Hz down to 49.996Hz. Millions of microwave clocks across the continent ended up 6 minutes late: https://hackaday.com/2018/03/09/europe-loses-six-minutes-due....
Clocks used to be able to use the 60Hz cycle to track time, and grid providers would run slightly slow or fast ("time error correction") to get back into sync. A leap second would just be part of this.
I believe in the US this error correction has been discontinued in the East and in Texas, but is still done in the West for some kind of non-clock "inadvertent interchange" reasons I don't understand.
Leap seconds are not added on a regular schedule like leap days, they depend on physical measurements of Earth. So high reliability systems with comprehensive timekeeping would not be perturbed by these choices, I would think.
I've often dreamed of and revisited this idea. I first started thinking of it seriously when I realized I was paying the same rent in February as in January despite a significantly shorter-than-mean (30.4375) month...!
My ideal year is 12 months, each 5 weeks long, each week 6 days long. At the summer solstice, 3 intercalary days (bank holidays), at the winter solstice, 2 or 3 intercalary days depending on leap year.
They're cool people but like it doesn't stop the world from imploding. Most of all of our code is full of trivial bugs and edge cases and most people don't mind too much. Certainly no one cares about leap seconds, they hardly even notice DST or leap days
According to Wikipedia [0] the headquarters of IERS (International Earth Rotation and Reference Systems Service) is in Frankfurt, Germany (contact information on their website [1] has an address in Frankfurt too). The web server hosting the linked file also contains German text in its error page:
> Dieser URL wird nicht beantwortet. Bitte wenden Sie sich mit Ihrer Anfrage an das Bundesamt fuer Kartographie und Geodaesie.
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?
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.
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
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
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.
Not anymore forever. We’re just not adding one for this year. We might need one next year, we might not. It all depends on the Earth’s rotation and orbit
I don't think it's cowardice, is it? The graph at https://en.wikipedia.org/wiki/Leap_second seems to indicate that adding a negative leap second at this point in time would be improper. (We're ~+0.1s off, and a negative leap second would occur if the line was approaching +0.6s. I'd like one too just for the curiosity of the thing, but … the Earth isn't having it.)
There's an opportunity to insert or remove a leap second twice a year. They only decide about 6 months in advance of each opportunity what to do (leap second, skipped second, or do nothing).
This announcement is very much a nothing burger; it’s already been more or less decided that adding leap seconds just isn’t going to be a thing anymore (in our lifetime). Here’s on article from 2022: https://www.timeanddate.com/news/astronomy/end-of-leap-secon...
In practice it will never affect anyone because it's a legal fiction, but even if you pretend to believe we would actually introduce this "leap hour" it would be in the distant future long after we're all dead and if there are still humans who have any idea the year 2026 happened they're not sure which of Donald Trump, Taylor Swift, Tony Stark and John McClane were real people.
Edited to add:
This is such a ridiculously long time frame that they might not be sure whether we were worried about climate change, for them that's either a disaster they survived (and maybe most didn't) or it's a weird blip in their historical charts which they struggle to explain. Did our civilisation do something very, very stupid? There is a flammable gas deep underground, did we set fire to it because we were crazy? Why the hell would we have done that? There are signs we deliberately set fire to the coal which is a toxic rock also found underground? That would explain the global climate going nuts. Maybe it was a ritual or something. Ancient people are mad.
Timekeeping is timeless. We count the number of orbits around the Sun from a specific guy's birthday 2000 years ago, our 12 months are named after rulers of an empire that hasn't existed for almost as long, and weekdays are named after the pagan gods that guy replaced. I don't know why there are 7 days in a week, but supposedly there are 86400 seconds in a day because some Bronze Age people liked the numbers 60 and 12.
Even if one day humans have to account for relativity in their commute, their woes will pale in comparison with those of the poor soul who has to add support for it in a C library that only understands (now, 128-bit) Unix timestamps.
Yeah, nah - that "we" doesn't cover all the other calendars also in use.
The Julian period is a chronological interval of 7980 years, derived from three multi-year cycles: the indiction, solar, and lunar cycles. The last year that was simultaneously the beginning of all three cycles was 4713 BC (−4712), so that is year 1 of the current Julian period, making AD 2026 year 6739 of that Period.
By "we" I mean ~everybody, as the Gregorian date with year 1 as the (wrongly dated?) birthyear of Jesus Christ is the standard for most domains in international communication.
>You don't think there aren't already application domains that have to account for relativity differences between reference frames?
Of course, GPS for one. My point is about the legacy of it all. Long time after those satellites are down, some future astronomer will be translating timestamps between GPS time and UTC, entirely aware of leap seconds and atomic time and whatnot, just to make sense of 21st century observations.
> the Gregorian date with year 1 as the (wrongly dated?) birthyear of Jesus Christ is the standard for most domains in international communication.
Save for those that care about missing days and months.
As long as cross country events prior to ~1756 aren't being discussed, things get messy and non uniform fast.
Also, there are Gregorian adjacent calendar variants with a Year 0
> some future astronomer will be translating timestamps between GPS time and UTC, entirely aware of leap seconds and atomic time and whatnot, just to make sense of 21st century observations.
A future where the spin of the earth still isn't a uniform metronome - a future with the same issue that exists today (and last century).
> their woes will pale in comparison with those of the poor soul who has to add support
Much of this support has _already_ been added - SKA data networks, for example, have to account for timing issue caused by receivers on one side of planet turning toward a source Vs those on the other side turning away - and reconcile that with past data from the other side of the orbit when the planet was moving toward Vs now when it moves away.
Up until now we have added 1 leap second every 2 year (27 leap seconds since 1972). So if it continues like this, in 7200 years it would be 1 whole hour, and in "only" 3602 years it will be closer to the next hour than the previous (so a natural time to add the leap hour).
reply