The rules that can't break
China's lunisolar calendar: the leap rule that has run without a crash since 1645, the same moon read an hour apart in Hanoi, Beijing and Seoul — and what one hour of longitude once did to the calendar. ← Calendar Contraptions
The previous piece ended with a machine that jammed: in autumn 2033, Japan's old calendar rules can no longer name seven months in a row. This page is about the neighbor's machinery — the rules China wrote in 1645 and still runs today. They cannot jam. Not because they are cleverer about the moon — the moon is the same moon — but because of where they put the anchor: everything keys on one fixed point, the winter solstice, and the rule that names the other months is allowed to bend everywhere else. That single design decision is why Chinese almanacs print 2033 without a committee meeting.
There is a price, and the price is a clock. The rules decide which day each new moon and each solar term falls on, and a day depends on where you stand. Run the same rules in Hanoi, Beijing and Seoul and you get three calendars that mostly agree — until an instant lands in the wrong hour. In 1968 that cost Vietnam one day. In 1985 it cost a month. This page runs all three clocks at once.
The reading
The rule machine
Pick a lunar year N (the one whose New Year falls nearest
January 1 of that Gregorian year). The machine finds the two winter
solstices that bracket it, walks the new moons between them, and applies
the rules — in order — until every month has a name:
1. The month containing the winter solstice is month eleven.
2. If twelve months separate that month from the next month eleven, one of them must be a leap month: the first one with no major term becomes it.
3. Month one begins two named months after month eleven.
| Month | Starts | Days | Major term it holds | Placed by |
|---|
One moon, three clocks
The same instant, attributed to a civil day in Hanoi (UTC+7), Beijing (UTC+8) and Seoul (UTC+9). A new moon at 16:30 UTC falls on one day in Beijing and the day before in Hanoi; at 15:30 UTC it splits Seoul from Beijing. Usually nothing moves. Sometimes everything does.
| Hanoi · UTC+7 | Beijing · UTC+8 | Seoul · UTC+9 |
|---|
When the clocks disagree
New Years 1901–2100 that land on different days in the three capitals. Green marks are the ones the references publish; the rest are this machine's own derivation, good to the day but carrying the clock tolerance admitted below.
1985: the month apart
| Vietnam (UTC+7) | China (UTC+8) |
|---|
2033: the verdict next door
| Lunar month | Starts | Days | Major terms held |
|---|
The rule that replaced a rule
Before 1645, Chinese calendars divided the sun's year into twenty-four equal slices of time (píngqì, "mean terms"). In that world a lunar month could hold at most one major term, so two plain rules worked: a month is named for the major term it contains, and a month with none is a leap month. Both rules are still quoted everywhere — and both are wrong for the modern calendar, because the 1645 reform (dìngqì, "true terms": the sun's actual position, every 15° of real ecliptic longitude) broke their hidden assumption. Kepler's second law does the damage: Earth runs fast near perihelion in January, so winter terms crowd together and a single lunar month can hold two of them, while summer months stretch and hold none. A calendar with double-term months cannot be named by contents.
The 1645 reform replaced both rules with one anchor and one count. The Qing history of the era states it directly:
「求閏月,以前後兩年有冬至之月為準。中積十三月者,以無中氣之月,從前月置閏。一歲中兩無中氣者,置在前無中氣之月為閏。」
"To place the leap month, take the months containing the winter solstices of the years on either side as the reference. If thirteen months elapse between them, make a month without a major term the leap month, counting from the front. If two months in one year lack a major term, the earlier one is the leap month." — History of Qing, Treatise on the Shíxiàn calendar
Because the count only runs inside the solstice-to-solstice frame, the rules have no opinion about any other term's month. In 1851–52 the month holding the spring equinox simply became month one — the rules didn't even notice, because that solstice-to-solstice span held only twelve months and needed no leap. The same thing happened in 1699–1700. The Japanese Tenpō rules, which demand a specific month for the equinoxes and solstices too, have no such slack — that is the whole difference between the two machines. (A Qing court tweak in 1811 was long read as a change to the leap rule; the modern view is that it merely re-stated what the rules already did — the rules never had anything to break.)
The old contents-based rules are not just decorative fossils — they are live traps. In the 2033–34 season three months lack a major term and two months hold two, all within eight months; the contents rule wants three leap months at once. Editors who trusted it published 2033 with a leap seventh month. The count puts the leap month exactly where every serious machine puts it: after month eleven.
One hour of longitude
Here is the whole mechanism of the disagreement list above. The rules attribute each instant to a civil day, and civil days change at midnight local time. A new moon at 16:30 UTC is already the next day in Beijing (00:30) but still today in Hanoi (23:30) — one day of offset, invented by nothing but the meridian. If that instant is a month boundary, every month number after it slides, and a solstice can even land in a different lunar month in the two countries — which moves the leap month, and the calendars stay shifted for months.
Vietnam is the classic case because it moved its clock in the middle of its calendar's life. Vietnamese versions of the Chinese calendar date to 1324; the court adopted the Qing Shíxiàn methods in 1812, and from 1841 its almanacs "began to differ from Shíxiàn due to longitudinal differences". On 8 August 1967 North Vietnam decreed its clocks to UTC+7 (the South followed in 1975) — and so Tết 1968 fell on January 29 in the North while the South and China rang in the year on January 30: the new moon rose at 16:29 UTC, inside the one-hour belt where the two zones disagree on the date. (One reference embellishes this story with a solstice that supposedly fell on Dec 21 in Hanoi and Dec 22 in Beijing; the sky disagrees — that solstice was comfortably on Dec 22 in both cities, seven hours from the nearest midnight. The one-day split came purely from the new moon.)
1985 is the extreme case, and the panel above replays it. The winter solstice of 1984 fell at 16:22 UTC on Dec 21 — before midnight in Hanoi (23:22), after midnight in Beijing (00:22). So Vietnam's month containing the solstice was the lunar month starting Nov 23, and China's was the one starting Dec 22: the two countries' month elevens were a month apart, and everything keyed on them — the leap month, the New Year — slid with them. Vietnam's new year arrived on Jan 21, 1985; China's on Feb 20, thirty days later. The calendars healed themselves the same way: China placed its leap month early (leap month ten, 1984), Vietnam placed hers late (leap month two, 1985, from Mar 21 to Apr 19), and from April 20 the two countries agreed again to the day. No rule was broken anywhere — each calendar followed the rules perfectly, an hour apart.
One country, two calendars
You don't even need a border to get two calendars — a meridian decision will do. The Qing court computed from Beijing's own meridian (116°25′E); in 1929 the Republic standardized on zone time UTC+8 (120°E), fourteen minutes east of the old meridian, and every instant near midnight became a fork. In 1916 the new moon of Feb 4 at 00:05 zone time had fallen before midnight on the Beijing meridian, so old almanacs print the year starting Feb 3 and the new ones Feb 4. In 1953 two editions of the calendar in mainland China disagreed on whether the seventh month began Aug 9 or Aug 10. In 1978 the same quarrel moved the Mid-Autumn Festival a day between Hong Kong and the mainland: the new moon of Sep 3 fell at 00:09 zone time — nine minutes past the knife's edge — and almanacs computed from the old Beijing meridian put it a day earlier. After 1989 Taiwan recalled whole print runs. The 2017 national standard (GB/T 33661-2017) ended the era by fixing the meridian, the definitions and a one-second precision requirement in writing: one country, one calendar, by decree.
The neighbors
Korea took the Shíxiàn calendar in 1653 but only ran it in earnest from 1725 — the Qing guarded the Western astronomy inside it, and Korean scholars had to reconstruct the methods before they could trust them. Korea's clock (UTC+9) diverges from Beijing's about a dozen times a century for a single day, and — once in the modern record, 2012 — the leap month itself shifted: China intercalated a leap fourth month, Korea a leap third. Japan's Tenpō calendar was modeled on a Qing-era reading of these rules before the 1811 clarification, which is exactly why it kept the breakable, contents-based naming — the corner's 2033 piece tells what happened next.
The lineage of the clock
| Version | From | Meridian / basis |
|---|---|---|
| Chongzhen treatise | 1629–34 | Jesuit-led recalculation; never issued as emperor |
| Shíxiàn calendar | 1645 | true terms (dìngqì); rule 2 born; Beijing meridian |
| Shíxiànshū (renamed) | 1742 | revised tables (Yíxiàng kǎochéng) |
| Guìmǎoyuán calendar | 1844 | revised tables again |
| Republican almanac | 1914 | Beijing local time — UTC+7:45:32, by the clock |
| National almanac | 1930 | zone time UTC+8 (120°E) |
| Purple Mountain standard | 1951→ | UTC+8, modern ephemerides; GB/T 33661-2017 codifies |
Lunar month → Gregorian
What this page doesn't do
The machinery computes live: new moons good to a couple of minutes against a professional ephemeris, solar terms to roughly ten minutes (Kepler-truncated series — the honest price of a page that fits in a file), and it says so instead of pretending. Month starts and leap months, which only need the day, are checked far harder: against the Hong Kong Observatory tables via the standard Chinese library (every lunar month 1901–2099), against worked examples published for 2017 and 2033 (every month, day by day), against the published leap-month list of the Chinese calendar (seventy-one leap years to 2099), and against every published case in the disagreement census — 1968, 1985, 2007, 2012. Where the references disagreed with the sky (the 1967 solstice anecdote, the 1984 clock digits), the page quotes them as published and shows what the sky actually says. Coverage is 1901–2100: beyond 2050 the clock corrections that decide midnight-level cases are genuinely unknowable in advance — Unix time's leap seconds and this calendar's knife edges meet there. And the 1651 almanac is quoted in the sources as placing its leap month differently from what the modern rules back-compute; when a 17th-century court astronomer and a 21st-century computer disagree about the 17th century, the court wins.