Bulletin · Machinery

Correction · B-002 · 22 August 2026

Where is an equinox?

The March 2027 equinox falls on 20 March in London and 21 March in Tokyo. It is the same instant. We computed it correctly and then dated it in the wrong place, and so does most software that touches this.

An equinox is not a date. It is a moment — the Earth passes a point in its orbit, and it does so at the same instant for everyone alive. The March 2027 equinox happens at 20:24 UTC on 20 March.

In Tokyo, that instant is 05:24 on 21 March.

Japan closes for 春分の日, Vernal Equinox Day, and the date it closes on is fixed by the National Astronomical Observatory of Japan, which publishes it in the 暦要項 the February before — reckoned, naturally, in Japanese time. So the holiday in 2027 is the 21st, and a system that computed the equinox perfectly and then read off its UTC date will tell you the 20th.

Ours did. The astronomy was right and the geography was missing.

Why it survives

Only when the instant falls late in the UT day does the civil date move. The March equinox is at 14:37 UTC in 2026 and 02:12 UTC in 2028; both are the same day everywhere that matters. It is roughly a one-year-in-three error, and a calculation that is right two years out of three does not look broken. It looks correct, until somebody plans around the year it isn’t.

The same slip reaches further than Japan. Singapore’s Vesak in 2027 gazettes as 20 May and computes as the 19th. Two Chinese festivals move the same way.

The part that is genuinely interesting

The obvious fix is to give every country a timezone. It is also wrong.

A reckoning meridian is a property of the calendar, not of the ground. China spans five geographic time zones and reckons its calendar at UTC+8, for all of it. Japan’s equinox is not Japanese because Japan is at that longitude; it is Japanese because a Japanese observatory is the body that declares it. The meridian belongs to whoever does the reckoning.

And a timezone field would be dead weight almost everywhere: the United States and Russia have no astronomically-determined public holidays at all, so the field would sit there on hundreds of records meaning nothing, which is how schemas rot.

So the meridian attaches to the calendar system, with a per-jurisdiction override where an authority reckons differently from the system’s default — Japan being the case that proves it.

What we did about it

We have not fixed the computation. Changing it moves dates in many countries at once, and that wants a diff read country by country rather than a rebuild and a hope.

What we did instead was stop claiming it. Every astronomically determined date now presents at our lowest assurance grade and carries precision: estimate, which is the honest description of a number we cannot yet stand behind. The underlying rules are as well evidenced as they ever were; the dates are not, and the record now says which is which.

A trap that looks identical and isn’t

Bali’s Nyepi came up in the same audit, computing to 6 April 2027 against an actual 8 March. It looks like the same bug. It is not, and no meridian will touch it: Nyepi is the Balinese Saka new year, and it had been modelled as a Chinese lunisolar date. The two calendars agree in some years and part company in others, which is why it passed for 2025 and 2026 and fails in 2027.

A wrong calendar cannot be corrected by adjusting where you stand. That one goes back to being announced rather than computed — Indonesia decrees the date every year, and a blank we fill from a decree beats a confident wrong answer.

The general case

Any date derived from an astronomical event carries a hidden assumption about where the observer is standing. Most software makes that assumption without noticing, because UTC is the default in every library and the default is invisible.

If you compute equinoxes, solstices, new moons or anything anchored to them: the instant is universal, the date is local, and something has to say which local.

Concerns JP, CN, SG, ID.

Written against corpus edition 2026.08.

More from Machinery