Chinese Lunisolar Calendar

Share:

Convert any Gregorian date between 1901 and 2100 to the Chinese lunar calendar, with the 24 solar terms computed from the Sun's true position rather than looked up in a table, correct leap-month placement, all four 干支 pillars, and festivals resolved separately for mainland China, Hong Kong, Taiwan, Singapore, Malaysia and Vietnam. Where the 立春 and 正月初一 zodiac conventions disagree — which they do for anyone born between New Year and Chinese New Year — it shows both and names which is which instead of picking one silently.

RT-CHN-107 · Chinese Culture & Almanac

萬年曆

本工具只做曆法計算——日期換算、節氣、干支與節日。不占卜、不判吉凶、不作任何預測,也不設宜忌欄。凡兩種已刊行的曆書確有分歧之處,本工具明白列出,而非默默擇其一。
2026 / 09
5
二十四節氣環 二十四節氣按太陽真黃經排布,每隔15度,冬至在下,夏至在上。標記為所選日期太陽所在。下方另以文字列出同樣內容。 立春 雨水 驚蟄 春分 清明 穀雨 立夏 小滿 芒種 夏至 小暑 大暑 立秋 處暑 白露 秋分 寒露 霜降 立冬 小雪 大雪 冬至 小寒 大寒
下一節氣

屬什麼?三種算法。

干支年並非始於公曆元旦。依所循傳統之不同,或始於立春,或始於正月初一——而這兩個界點先後並不固定。

同一天,六地曆法各自的讀法

水墨畫:遠山層疊,漸隱於留白之中,左下角一枝疏影入畫。
AI 生成 · 水墨

節氣依太陽視黃經推算(截斷 VSOP87 + 章動 + 光行差);朔依 Meeus 第49章;閏月依無中氣之法。已與香港天文台《公曆與農曆對照表》核對(1901–2100年:正月初一200/200、閏月73/73一致)、並核對其二十四節氣表及日本國立天文台曆算數據。支援範圍:1901年1月1日至2100年12月31日。

📅 研究資料截至 2026年8月11日 · 來源: Hong Kong Observatory 公曆與農曆對照表 (1901–2100) + 二十四節氣 tables; NAOJ 暦計算室 ephemeris at UTC+8; GB/T 33661-2017 for the calendar rules and the UTC+8 meridian; Meeus, Astronomical Algorithms 2nd ed. (VSOP87 Appendix III, nutation ch. 22, solar coordinates ch. 25, phases of the Moon ch. 49); Espenak & Meeus ΔT with measured values 2005–2025.
利率、法規與放款機構的做法經常變動 — 採取行動前,請向你的服務機構或持牌顧問確認最新數字。
Advertisement
After tool · AD-W1Responsive

如何使用萬年曆

選擇日期

1901年1月1日至2100年12月31日之間的任意公曆日期。節氣盤、日曆頁與下方各項一併更新——它們本就是同一次推算的結果。

如知時辰,請一併填入

時柱需要時辰,立春的分界同樣需要:立春有確切時刻而非僅有日期,前後兩小時之差就可能分屬不同干支年。留空則時柱留空——本工具不會替你假設為子時。

選擇依何地曆法

可選中國大陸、香港、台灣、新加坡、馬來西亞或越南。越南依東七區推算而非東八區,某些年份確實會差上一天——下方六地對照會告訴你是哪些年。

讀節氣盤

二十四條輻線按太陽真黃經排布,每隔15度——節氣的定義正是如此。冬至在下,夏至在上。硃砂標記即所選日期太陽所在之處。

Advertisement
After how-to · AD-W2Responsive

農曆究竟是怎樣運作的

農曆常被稱作「陰曆」,這其實是個誤稱。真正的陰曆只跟月亮走,伊斯蘭曆便是如此,其年比公曆年短約十一天,齋月因而每年提前。農曆不是這樣:它同時跟著月亮與太陽走,這也正是它算起來遠比兩者都複雜的原因。

月亮定月,太陽定年

農曆的月始於「朔」——日月黃經相同的那一刻,也就是新月。含朔之日即為初一。朔望週期約29.53天,所以農曆月不是29天就是30天,而且哪個月多少天並無規律可循,只能逐月推算。

太陽這邊則由二十四節氣把一年切開。每個節氣對應太陽黃經的一個15度整倍數:春分是0度,夏至90度,秋分180度,冬至270度。節氣不是日期,而是一個角度到達的時刻——這也是本工具首頁那個圓盤的由來:圓盤上的角度就是黃經,分毫不差。

閏月從不預先排定

十二個朔望月約354天,回歸年約365.24天。若不設法彌合,春節會像齋月一樣在四季中漂移。補救之法便是閏月,但閏哪個月並非人為指定,而是自然落出來的:

二十四節氣中,黃經為30度整倍數的十二個稱「中氣」。太陽走過30度約需30.4天,而一個朔望月只有29.53天。日子久了,總會出現某個農曆月整月不含中氣——這個月便是閏月,不另起名,而是重複前一個月的月序,稱「閏某月」。

2033年是這條規則最著名的考題。那年八月不含中氣,看似當閏;然而當年冬至到次年冬至之間只有十二個月,並非十三個,故不置閏。真正的閏月在年底,是閏十一月。據 Aslaksen 考證,這是自1645年以來該規則第一次以這種方式為難推算者。彼時幾乎所有查表式的程式都算錯了。

曆法也有子午線

朔與冬至都是瞬間,而「哪一天」取決於按哪個時區來看這個瞬間。農曆依東經120度標準時推算,此為 GB/T 33661-2017 所定。但1929年以前用的是北京地方平時,比東八區慢14分20秒。這不是學究之見:1916年的春節正因如此落在2月3日而非2月4日。

越南把同一套規則放在東七區上推算,1968年起如此。多數年份兩曆一致,少數年份差一天,而1985年差了整整一個月——1984年12月的冬至在河內是21日,在北京已是22日,由此決定哪個月算十一月,整年隨之移位。這不是誰算錯了,而是兩部各自正確的曆法。

為什麼本工具給出三個生肖

干支紀年何時換年,歷來有兩說,且都有出處。八字所用的干支曆以立春為界,立春有確切時刻;而日常所稱的農曆年——「今年是馬年」這個「馬年」——以正月初一為界,GB/T 33661-2017 與香港天文台皆如此界定。兩者可能相差數日至半月,先後不定。

於是,元旦至春節之間出生的人,生肖確實取決於依哪一說。多數免費工具悄悄擇一,甚至乾脆以公曆元旦為界——後者並無任何傳統依據。本工具三者並列,註明各自出處,並在結果不同時明說其所以然。這與本站姓名學工具堅持用康熙筆畫而非現代筆畫是同一種做法:把分歧擺出來,而不是藏在一個武斷的選擇背後。

關於農曆的十件事

01

節氣不是日期,而是一個角度:太陽黃經每達15度整倍數的那一刻。共二十四個,因為360÷15=24。

02

閏月從不預先排定,而是哪個月不含中氣便閏哪個月——朔望月短於太陽走過30度所需的時間,空檔自然出現。

03

2033年難倒了此前幾乎所有曆法程式。其八月無中氣卻並非閏月,真正的閏月是閏十一月。這是自1645年以來該規則第一次設下這樣的陷阱。

04

1929年以前,農曆依北京地方平時推算,比此後所用的東經120度標準時慢14分20秒。這點差距足以讓朔跨過午夜,並非無關緊要。

05

越南以同樣的天文算法按東七區推算。1985年因此春節在2月20日,而越南元旦在1月21日——相差整整一個月,而非一天。

06

越南十二生肖中,卯為(Mão/mèo)。丑為水牛則不算真正的替換——漢語「牛」本是泛稱,越南只是把寬泛的詞收窄了。

07

香港的中秋公眾假期是中秋翌日,因為節慶在夜裡。大陸與台灣則放中秋當日。

08

除夕並無固定農曆日期。臘月視月相為29或30天,故除夕有時是廿九,有時是三十——1950至2050年間分別為39次與62次

09

2038年2月4日,立春與正月初一同日——正月初一自零時起,立春在2時4分。有124分鐘,兩種生肖算法在同一天之內彼此不合。

10

1901至2099年間的2461個農曆月中,有52個的朔落在午夜前後一刻鐘之內。正是這些月份,兩本各自正確的曆書可能印出不同的日期。

常見問題

  • 因為確有三種算法並行,而對元旦至春節之間出生的人,三者結果不同。八字所用的干支曆以立春換年;GB/T 33661-2017 與香港天文台所稱的農曆年以正月初一換年;多數免費網站則悄悄以公曆元旦為界。我們三者並列並註明各自出處,而不是擇一而用、寄望無人察覺。
  • 就農曆年的名稱而言——即日常所說的「馬年」——正月初一是官方答案。若排八字,立春才是正確分界,歷來如此。二者是共用名稱的兩套紀年,而非一套紀年有爭議的起點。至於公曆元旦一說,並無任何傳統依據,此處列出只為解釋別處網站為何與本站不同。
  • 依太陽真黃經推算:採用截斷的 VSOP87 級數,計入章動與光行差,再經 ΔT 由力學時換算為民用時。程式中並無任何日期表。結果已與香港天文台所刊二十四節氣表及日本國立天文台曆算數據核對,相差不超過一分鐘。
  • 因為這正是香港天文台刊行公農曆對照表的範圍,超出這一範圍便無權威資料可供核對。天文算法本可推算數千年,但把握不能。與其給出看似合理卻無從驗證的答案,本工具選擇拒絕作答。
  • 農曆月自含朔之日起算。若該朔落在午夜前後約一刻鐘之內,另一套曆表把它定在相鄰一日亦屬合理,整月隨之移動。範圍內2461個月中有52個如此。本工具將其標出,而不佯裝分界比實際更為確鑿。
  • 規則相同、天文相同,子午線不同。越南自1968年起按東七區推算,中國用東八區。若朔或冬至恰落在這一小時之內,便歸入不同的民用日,兩曆自此分道。1968、1969、2007、2030、2053年越南元旦與春節相差一日,1985年則相差整整一個月。
  • 不會,這是刻意劃定的界線,而非疏漏。本工具換算日期、推算節氣、定干支生肖、判節日——凡此皆是有據可核的算術。既無宜忌欄,也不判某日吉凶,更不作預測。引擎的測試套件專門斷言這些功能的缺席,故此界線是被強制執行的,而不只是意願。
  • 週歲是出生後滿的年數,即國際通行算法。虛歲則出生即為一歲,此後每逢正月初一加一歲,而非生日加一歲。除夕出生者,次日即虛歲二、週歲零。本工具兩者並列,並列出所歷正月初一之數,以見其推算過程。
  • 23時至23時59分之間,子時已起而日未換。依晚子時之說,時干從次日日干;依早子時之說,則從當日日干。兩說並行。本工具取晚子時,同時列出另一說,而不隱去這一抉擇。
  • 不必。留空則除時柱外一切照常。本工具會將時柱留空,而不預設為子時——時辰不明並不等於子時,默默假設正是錯排的由來。時辰另一處要緊之用,是出生恰在立春前後數小時之內時,它決定干支年歸屬。

Method & sources

What this tool implements

  • 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

Sources

  • 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
Advertisement
Pre-footer · AD-W3 728 × 90