農曆國曆轉換
國曆與農曆互轉,涵蓋 1900 到 2100 年,同時顯示干支、生肖與當日節氣。曆表由天文算法在編譯時產生,並與公布的日期逐一核對過。
在你的瀏覽器中執行
這一年有重複的這個月份。要第二個請勾選閏月。
- 干支年
- —
- 生肖
- —
- 星期
- —
- 節氣
- —
- 下一個節氣
- —
所有日期以東八區的日界為準,農曆本來就是這樣定義的。
農曆是天文,不是公式
農曆沒有公式。任何一個轉換器骨子裡都是一張表,而那張表是把兩個天文問題反覆問出來的答案:
- 朔在什麼時候? 含有朔(日月合朔那一刻)的那一個曆日,就是初一。不是隔天,也不是初見 新月的那天,而是合朔那一瞬間所在的日子。
- 太陽黃經什麼時候通過 30 度的倍數? 那十二個時刻就是中氣,它們是把農曆的月份綁在季節上 的東西。
兩者都以東八區計算,因為農曆本來就是這樣定義的。這不是細節:一個發生在北京時間 00:14 的 朔,和同一個朔記成前一天 16:14 UTC,會讓整個月提前一天開始。
三條規則
- 一個月從一個朔到下一個朔,29 天或 30 天,沒有別的長度,而且不算出下一個朔就無從得知是 哪一種。
- 含冬至的那個月是十一月。這是整套曆法的錨。正月——也就是春節——只是從十一月往後數出來的。
- 若前後兩個十一月之間有十三個月,這一歲就要置閏。閏月是其中第一個不含中氣的月,並且 沿用前一個月的月序:六月之後的閏月叫閏六月,農曆沒有十三月。
大多數說明都講錯的那一條
到處都看得到「沒有中氣的月份就是閏月」。這不是規則,而且是錯的。
以 1985 年正月為例,它從 2 月 20 日到 3 月 20 日,裡面一個中氣都沒有:雨水落在 2 月 19 日, 是它開始的前一天;春分落在 3 月 21 日,是它結束的後一天。照那條「規則」它該是閏月。但它不是—— 1985 年根本沒有閏月。
問題出在規則的適用範圍。月數是以「歲」為單位數的,從冬至到冬至,而那一歲只有十二個月。 1984 年的冬月剛好含了兩個中氣——12 月 22 日的冬至與 1985 年 1 月 20 日的大寒,相隔二十九天, 塞在同一個三十天的月份裡——正月才會分不到。既然只有十二個月,就沒有東西要插進去,也就不置閏。
一月初地球過近日點,走得最快,中氣之間會擠到約二十九天半,一個三十天的月份便有可能吞下兩個。 這種年份就是這樣來的。
閏月的分布極不平均
這張表涵蓋的 201 年裡共有 74 個閏月,而它們的分布嚴重偏斜:
| 閏月 | 1900–2100 出現次數 |
|---|---|
| 閏四月 | 14 |
| 閏五月 | 14 |
| 閏六月 | 12 |
| 閏三月、閏二月、閏七月 | 各 8 |
| 閏八月 | 7 |
| 閏九月 | 1——只有 2014 年 |
| 閏十月 | 1——只有 1984 年 |
| 閏十一月 | 1——只有 2033 年 |
| 閏正月、閏十二月 | 從未出現 |
原因在地球軌道。七月初過遠日點,太陽走得最慢,相鄰兩個中氣可以拉開到約 31.4 天,一個 29 或 30 天的月份很容易剛好卡在兩者之間,一個都碰不到。一月初過近日點則相反——中氣擠到約 29.4 天, 一個月要完全不含中氣幾乎不可能。
所以 2033 年的閏十一月不是趣聞,而是農曆最罕見的一種情形,也正是當年好幾本曆書算錯的原因。
為什麼只做到 1900 與 2100
再往外算不是做不到,是不敢保證。關鍵在 ΔT——地球自轉與均勻時之間的差。2005 年以前是量出來的, 之後是外推的,到 2100 年的外推誤差大約是一分鐘。
一分鐘只對「本來就落在午夜前後一分鐘」的時刻有影響,而這兩百年裡有十六個。最極端的是 2057 年 9 月 28 日的一個朔,落在北京午夜前兩秒。市面上的曆書對那個月本來就有分歧,將來也還會 有;沒有誰算錯,只是問題比資料本身更精細。
其他幾個也值得記一筆,性質完全一樣:1979 年的大寒與 1923 年的雨水都在午夜前後三秒內, 2021 年的冬至則落在 23:59:19。
這張表是怎麼來的
它在編譯時產生,用的是 Meeus《Astronomical Algorithms》第 49 章的月相與第 25 章配合 VSOP87 的太陽位置,換算成東八區的曆日之後,再套上面那三條規則。
產生器在對不上公布日期時拒絕輸出任何東西:29 個從 1900 到 2100 的春節日期、31 個閏月 (包括 2033 年)、11 個確定無閏月的年份,以及 12 個節氣。這些錨點在測試裡再驗證一次,所以重新 產生曆表不可能悄悄改掉答案。
之後全部在你的瀏覽器裡執行,曆表本身大約 11 kB。
頁面上的其他欄位
干支是六十甲子:十天干配十二地支,六十年一輪,不是十二年。2024 年是甲辰,1964 年也是, 2084 年還是。
節氣顯示這個日期落在哪一個節氣裡,以及下一個節氣還有幾天。想看整年的話, 二十四節氣表列出全部二十四個。
生肖從春節換,不是從元旦換——這是最多人算錯的一件事,另有專頁說明。