English
This page is available in English
The whole page — instructions, buttons and results.
Switch to EnglishBahasa Melayu
Halaman ini ada dalam Bahasa Melayu
Seluruh halaman — arahan, butang dan keputusan.
Tukar ke Bahasa MelayuUbah tanggal Gregorian mana pun antara 1901 dan 2100 ke kalender lunar Tiongkok, lengkap dengan 24 istilah surya yang dihitung dari posisi Matahari yang sebenarnya, penempatan bulan kabisat yang benar, empat pilar 干支, serta hari raya untuk Tiongkok, Hong Kong, Taiwan, Singapura, Malaysia dan Vietnam.
Chinese Lunisolar Calendar
The 干支 year does not begin on 1 January. Depending on which tradition you follow it begins at 立春 or at 正月初一 — and those can fall either side of each other.
Solar terms computed from the Sun’s apparent longitude (truncated VSOP87 + nutation + aberration); new moons from Meeus ch. 49; leap months from the 无中气 rule. Checked against the Hong Kong Observatory’s 公曆與農曆對照表 (200/200 new years, 73/73 leap months, 1901–2100), its 二十四節氣 tables and the NAOJ ephemeris. Supported range 1901-01-01 to 2100-12-31.
How to use the 万年历
Pick a date
Any Gregorian date from 1 January 1901 to 31 December 2100. The wheel, the sheet and every reading below update together — they are all the same calculation.
Add the hour if you know it
The hour pillar needs one, and so does the 立春 boundary: 立春 has an instant, not just a date, so a birth two hours either side of it falls in a different 干支 year. Leave it blank and the tool leaves the hour pillar blank rather than assuming midnight.
Choose whose calendar
Mainland China, Hong Kong, Taiwan, Singapore, Malaysia or Vietnam. Vietnam computes its calendar at UTC+7, not UTC+8, so it genuinely lands on different days in some years — and the six-way comparison below shows you when.
Read the wheel
The 24 spokes sit at the Sun's true ecliptic longitude, 15° apart — that is what a 节气 is. 冬至 is at the bottom, 夏至 at the top. The cinnabar mark is where the Sun is on your date.
How a lunisolar calendar actually works
The Chinese calendar is routinely called a lunar calendar, and that is a misnomer. A true lunar calendar follows only the Moon — the Islamic calendar does, which is why its year runs about eleven days short and Ramadan walks backwards through the seasons. The Chinese calendar follows the Moon and the Sun at once, which is precisely why it is harder to compute than either.
The Moon sets the month, the Sun sets the year
A month begins at 朔 — the instant of conjunction, when the Sun and Moon share an ecliptic longitude. The day containing that instant is day one. Because the synodic period is about 29.53 days, months are 29 or 30 days long, and which is which follows no pattern: it has to be computed, month by month.
The Sun's contribution is the 24 solar terms. Each is the moment the Sun's apparent longitude reaches a multiple of 15° — 0° at the spring equinox, 90° at the summer solstice, 180° at the autumn equinox, 270° at the winter solstice. A 节气 is not a date; it is the arrival at an angle. That is why the wheel at the top of this page is a wheel: the angle you see is the longitude, drawn honestly.
The leap month is never scheduled
Twelve lunar months come to roughly 354 days; the tropical year is 365.24. Left alone, Chinese New Year would drift through the seasons the way Ramadan does. The repair is a leap month — but which month is not assigned by anyone. It falls out of the arithmetic.
Twelve of the 24 terms sit at multiples of 30° and are called 中气, major terms. The Sun takes about 30.4 days to cross 30°, while a lunar month lasts 29.53. Sooner or later a month arrives that contains no 中气 at all. That month is the leap month. It gets no name of its own; it repeats the number of the month before it, as 闰 that month.
2033 is the famous trap. Its eighth month contains no 中气 and looks like a leap month — but the 岁 from that winter solstice to the next holds only twelve months, not thirteen, so there is no leap month there at all. The real one is 闰十一月, in December. Aslaksen records it as the first time the rule had sprung this particular trap since 1645, and it broke very nearly every table-driven calendar program written before it.
A calendar has a meridian
Conjunctions and solstices are instants, and which DAY an instant falls on depends on the timezone you read it in. The Chinese calendar is computed at the 120°E standard meridian — GB/T 33661-2017 says so. But before 1929 it was computed at Beijing local mean time, 14 minutes and 20 seconds behind. That is not pedantry: it is why Chinese New Year 1916 fell on 3 February rather than 4 February.
Vietnam runs the identical rules at UTC+7, and has since 1968. Most years the two calendars agree; a few years they differ by a day; and in 1985 they differed by a month, because the December 1984 winter solstice fell on the 21st in Hanoi and the 22nd in Beijing, which changed which month counted as the eleventh and moved the entire year. Neither calendar is wrong. They are two correct calendars.
Why this tool gives three zodiac animals
There have always been two defensible answers to when the 干支 year turns. The 干支历 used for 八字 turns it at 立春, which has an instant. The 农历 year people mean in ordinary speech — "the year of the Horse" — turns at 正月初一, which is what GB/T 33661-2017 and the Hong Kong Observatory both specify. The two can sit up to a fortnight apart, in either order.
So for anyone born between 1 January and Chinese New Year, the animal genuinely depends on which convention you are using. Most free tools pick one silently, and a great many use 1 January, which has no traditional basis whatsoever. This tool shows all three, names which is which, and explains the disagreement when there is one. It is the same instinct behind this site's 姓名学 tool using Kangxi stroke counts rather than modern ones: surface the disagreement, rather than hiding it behind an arbitrary choice.
Ten things about the Chinese calendar
A 节气 is not a date but an angle: the instant the Sun reaches a multiple of 15° of ecliptic longitude. There are 24 of them because 360 ÷ 15 = 24.
The leap month is never scheduled. It is whichever month happens to contain no 中气 — a gap that opens because a lunar month is shorter than the Sun's 30° step.
2033 broke almost every calendar program written before it. Its 8th month has no 中气 but is not the leap month; the real one is 闰十一月. It was the rule's first such trap since 1645.
Until 1929 the Chinese calendar was computed at Beijing local mean time, 14 minutes 20 seconds behind the 120°E standard meridian used since. That gap moves a new moon across midnight often enough to matter.
Vietnam runs the same astronomy at UTC+7. In 1985 that put Tết on 21 January and 春节 on 20 February — a full month apart, not a day.
In the Vietnamese zodiac the rabbit is a cat (Mão / mèo). The buffalo for the ox is softer — Chinese 牛 is a generic bovine, so Vietnam narrows a broad word rather than swapping the animal.
Hong Kong's Mid-Autumn public holiday is the day after 中秋, because the festival is kept at night. The mainland and Taiwan take the day itself.
除夕 is not a fixed lunar date. 腊月 runs 29 or 30 days depending on the moon, so New Year's Eve is 廿九 in some years and 三十 in others — 39 times and 62 times respectively between 1950 and 2050.
On 4 February 2038 立春 and 正月初一 fall on the same day — 正月初一 at 00:00, 立春 at 02:04. For 124 minutes the two zodiac conventions disagree inside a single date.
Of the 2,461 lunar months between 1901 and 2099, 52 begin on a new moon within a quarter-hour of midnight. Those are the ones where two correct almanacs can print different dates.
Frequently asked questions
- Because three conventions are genuinely in use and they disagree for anyone born between 1 January and Chinese New Year. The 干支历 used in 八字 turns the year at 立春; the 农历 year that GB/T 33661-2017 and the Hong Kong Observatory name turns at 正月初一; and most free websites quietly use 1 January. We show all three and name which is which rather than picking one and hoping nobody notices.
- For the name of the 农历 year — what people mean by "the year of the Horse" in ordinary speech — 正月初一 is the official answer. For a 八字 chart, 立春 is the right boundary and always has been. They are two different year counters that happen to share names, not one counter with a disputed start. The 1 January reading has no traditional basis at all; it is listed only to explain why other sites disagree with this one.
- From the Sun's actual apparent longitude, using a truncated VSOP87 series with nutation and aberration applied, then converted from dynamical time to civil time via ΔT. There is no table of dates anywhere in the code. The results were checked against the Hong Kong Observatory's published 二十四節氣 tables and the NAOJ ephemeris, and agree to within a minute.
- Because that is exactly the span the Hong Kong Observatory publishes its conversion tables for, and outside it there is nothing authoritative to check the answers against. The astronomy would run happily for thousands of years; the confidence would not. Rather than return a plausible unchecked answer, the tool refuses.
- A lunar month begins on the day containing the new moon. When that new moon falls within about a quarter-hour of midnight, a different ephemeris can legitimately put it on the neighbouring day, and the whole month shifts with it. 52 of the 2,461 months in range are like this. The tool flags them instead of pretending the boundary is sharper than it is.
- Same rules, same astronomy, different meridian. Vietnam has computed at UTC+7 since 1968; China uses UTC+8. A new moon or a winter solstice falling in that one-hour window lands on a different civil day, and the calendars part company. Tết and 春节 differ in 1968, 1969, 2007, 2030 and 2053 by a day — and in 1985 by a whole month.
- No, and that is a deliberate line rather than an omission. It converts dates, computes solar terms, names 干支 and 生肖 and resolves festivals — all of which are arithmetic with checkable answers. It carries no 宜忌 column, rates no day, and predicts nothing. The engine's own test suite asserts the absence, so the boundary is enforced rather than merely intended.
- 周岁 is completed years since birth — the international reckoning. 虚岁 starts at 1 on the day of birth and gains a year at every 正月初一, not on the birthday. Someone born on 除夕 is 虚岁 2 the following day and 周岁 0. The tool shows both and the number of lunar new years counted, so the working is visible.
- Between 23:00 and 23:59 the 子 hour has begun but the calendar day has not turned. Under the 晚子时 rule the hour stem follows the next day's stem; under 早子时 it follows the current day's. Both are in use. The tool shows the 晚子时 reading and names the other rather than hiding the choice.
- No. Leave it blank and everything except the hour pillar is unaffected. The tool leaves the hour pillar empty rather than defaulting to midnight — an unknown hour is not 子时, and quietly assuming one is how wrong charts get built. The one other thing the hour changes is a birth within hours of 立春, where it decides the 干支 year.
Metode & sumber
Standar yang diterapkan
- GB/T 33661-2017《农历的编算和颁行》— calendar rules and the UTC+8 (120°E) meridian
- Meeus, Astronomical Algorithms 2nd ed. — VSOP87 (App. III), nutation (ch. 22), solar coordinates (ch. 25), phases of the Moon (ch. 49)
- Espenak & Meeus, Polynomial Expressions for Delta T (NASA GSFC), with measured ΔT 2005–2025
Sumber rujukan
- Hong Kong Observatory 公曆與農曆日期對照表, 1901–2100 (validation target: 200/200 Chinese New Years, 73/73 leap months)
- Hong Kong Observatory 二十四節氣 XML, 2019–2028
- NAOJ 暦計算室 二十四節気 long-range ephemeris at UTC+8 (1984, 2000, 2050)
- Academia Sinica 中西曆轉換 — independent corroboration of all 200 Chinese New Years, incl. the pre-1929 Beijing-local-mean-time era
Pick up where you left off
Stored only in this browser — never sent to our servers.