本 網 站 的 農 曆 編 算

初稿: 2018年10月      最近一次重大修訂: 2019年8月13日


本網站的農曆涵蓋年份是公元前722年至公元2200年,可分為六個時段:現代(1912年–2200年)、清朝(1645年–1911年)、西漢中葉至明末(前104年–1644年)、秦至漢初(前221年–前104年)、戰國時代(前480年–前222年)及春秋時代(前722年–前481年)。每時段採用不同的方法計算農曆,以下六節簡單介紹這些計算方法。

下面用Ny表示年首最接近公曆1月1日的中曆年。例如N1095指宋哲宗紹聖二年,始於公元1095年2月8日,終於1096年1月27日。


內容

  1. 現 代 (1912年 – 2200年)
  2. 清 朝 (1645年 – 1911年)
  3. 西 漢 中 葉 至 明 末 (前104年 – 1644年)
  4. 秦 至 漢 初 (前221年 – 前104年)
  5. 戰 國 時 代 (前480年 – 前222年)
  6. 春 秋 時 代 (前722年 – 前481年)

    聯 絡

    備 註 和 參 考 文 獻


相關文章/網頁(不包括網頁頂端已列出的網頁):


現 代 (1912年 – 2200年)

這時段的農曆根據《農曆的編算和頒行》文件国标(編號GB/T 33661-2017)規定的方法編算(詳情可參閱農曆法則網頁),計算結果與中國科學院紫金山天文臺出版的書籍裡的農曆資料核對過。太陽和月球的地心位置用美國噴射推進實驗室(Jet Propulsion Laboratory)編制的DE431DE曆表計算。噴射推進實驗室的DE系列曆表用數值積分方法計算太陽系行星及月球的位置,是目前世界上最準確的曆表之一,計算時考慮到343個質量比較大的小行星對大行星的重力攝動。太陽系各天體的運動計及廣義相對論對牛頓力學的修正,廣義相對論的效應以參數化後牛頓n體度規推出的動力學方程描述。此外還計及地球、月球、及太陽因偏離完美球狀而引起的額外加速度。用DE431曆表計算出的地心位置經過光行時及光行差的修正後,得到的是國際天球參考系(ICRS)的地心座標視位置,再經過參考架偏差矩陣(frame bias matrix)以及歲差和章動的變換後算出地心視位置相對於瞬時黃道及真春分點的黃道座標。歲差採用Vondrák等人於2011年建立的歲差模型Vondrák計算。章動根據國際天文聯會推薦的IAU2000A章動模型計算,計算公式取自國際地球自轉和參考系服務規範(IERS Conventions)在2010年發佈的文件IERS10和美國海軍天文臺在2005年發佈的文件Kaplan。月相和節氣的質心力學時(TDB)時刻用牛顿-拉弗森(Newton-Raphson)求根法計算,所得的TDB時刻再轉換成UTC+8(1972年及以後)或UT1+8(1972年前)時刻。換算過程中省略了TDB到地球時(TT)的轉換,因為兩者差異小於0.002秒,可視為等同。TT到UT1的轉換公式取自Espenak和Meeus的近似公式,1972年到現在的TT-UTC根據正式公佈的閏秒計算,2020年後的TT-UTC根據Espenak和Meeus的公式預推,其實他們的公式是用來預推TT-UT1的,但是也可用來作TT-UTC的近似值,因為根據規定UTC和UT1相差不會超過0.9秒。我已把本網站編算農曆時詳細的數學計算寫在這pdf文件供有興趣的讀者參閱。

本網站以前用國際天文聯會推薦的IAU2006模型計算歲差,現在改用Vondrák等人的歲差模型,原因是IAU2006模型只適用於公元2000年前後一千年左右,以前本網站載的農曆年限是公元1841年至2200年,用IAU2006模型沒有問題。現在本網站的農曆年限是公元前722年至公元2200年,雖然古代的農曆根據實曆,但是年曆網頁仍載有用現代方法計算當時合朔和二十四節氣的UT1+8時刻以供參考,因此IAU2006模型便有所不足。Vondrák等人的新歲差模型有效年限是公元2000年前後二十萬年,我比較過用Vondrák等人的模型和IAU2006模型計算出的月相和二十四節氣的時刻,發現在1600年至2500年間,兩歲差模型的二十四節氣時刻偏差不超過0.19秒、月相時刻偏差不超過0.00038秒,因此IAU2006模型與Vondrák等人的新模型在這時段可視為等同。

用以上方法編算的農曆與兩本曆書比對過,一本是中國科學院紫金山天文臺編的《新编万年历(修定本)》新编万年历,另一本是劉寶琳編的《100年袖珍干支月曆》劉寶琳。《100年袖珍干支月曆》的編者劉寶琳曾是紫金山天文臺的研究員,編該書時已從事曆算工作近四十年,並曾以紫金山天文臺的名義出版了多種曆書,《新编万年历》也是由他主編的。《新编万年历》的年限是從1840年(道光二十年)到2050年,《100年袖珍干支月曆》的年限是從1911年到2010年。兩本書的農曆資料是一致的,只是《100年袖珍干支月曆》還把朔、望和二十四節氣的時刻列出到分鐘。兩本書中1912年到1928年的農曆根據北洋政府教育部中央觀象臺編的《中華民國曆書》,1929年到1948年的農曆根據中華民國中央研究院天文研究所編的《國民曆》註一,1949年及以後的農曆則根據紫金山天文臺編算的農曆。

本網站編算的這時段農曆與兩本書所載的資料大多一致,遇到農曆初一的日期不一致時就以兩本書的資料為準。不一致的情況有三次而且都是發生在1929年以前。在這些不一致的情況,合朔的時刻仍然用我的計算,只是農曆初一的日期改了。除了朔日的日期有差異外,二十四節氣的日期有時也有差異。除了一項外,所有的差異也都是發生在1929年以前。下表把所有的合朔和二十四節氣的日期差異列出來。


農 曆 年 農 曆 月 初 一 的 公 曆 日 期* 合 朔 時 刻 (UT1+8)
N1914 癸 丑 年 十 月 1914年11月17日 1914年11月18日 00:02
N1916 丙 辰 年 正 月 1916年2月3日 1916年2月4日 00:05
N1920 庚 申 年 十 月 1920年11月10日 1920年11月11日 00:05

* 初一的日期根據當時政府頒行的日曆。


公 曆 年 節 氣 本網站計算的節氣時刻(UT1+8) 當時政府頒行的日曆
1912 小雪 11月22日 23:48 11月23日 00:39
1913 秋分 9月23日 23:53 9月24日 00:48
1917 大雪 12月8日 00:01 12月7日 23:47
1927 白露 9月9日 00:05 9月8日 23:52
1928 夏至 6月22日 00:06 6月21日 23:53
1979 大寒 1月20日 23:59:54 1月21日 00:00

1914年以前的差異主要是因為當時的計算方法根據乾隆七年(1742年)編成的《曆象考成後編》,《曆象考成後編》成書時還算先進(見下一節),現在看來是很不準的。用《曆象考成後編》推算的時刻可以有幾分鐘至幾十多分鐘的誤差。自1914年起曆法計算採用國外新方法,但是仍用北京地方時,這就是1914年、1916年、1917年、1920年、1927年和1928年出現日期差異的原因。至於1979年的情況比較特殊,我據DE431曆表推算的大寒時刻在1月21日零時之前六秒,《100年袖珍干支月曆》和《1979年中国天文年历》載的時刻是00:00,可見大寒時刻非常接近午夜零時,要用很準確的曆表才能把確實日期算出。1984年以前,世界上大多數的天文年曆(包括紫金山天文臺編的《中国天文年历 》)是根據1895年美國天文學家西蒙‧紐康(Simon Newcomb)編的太陽表計算太陽位置,紐康太陽表的精確度約為1",所以用其計算的二十四節氣時刻可以有25秒的誤差。《100年袖珍干支月曆》的節氣計算可能也是用類似精度的太陽曆表計算,因為書中所列的節氣時刻和我推算的時刻常有一分鐘偏差,而這樣的偏差不見於現在香港天文臺網站列出的節氣時刻,其實這也不奇怪,因為香港天文臺的節氣時刻是根據英國皇家航海曆書局及美國海軍天文臺提供的天文數據計算,而那些天文數據自2015年起取自DE430曆表,DE430和DE431在近一百年的差異十分微少。不管怎樣,這些二十四節氣的日期雖然相差一天,但是並沒有影響農曆月份的編排,我在本網站相關的網頁用紅色字形指出了這些差異。

農曆法則網頁提到數十年後的合朔和二十四節氣的UTC+8時刻現在暫時不能準確計算,有若干合朔和節氣的預推時刻接近午夜零時,所以確實日期可能和預推日期有一日之差。合朔日期可能有一日之差即意味著預推的農曆初一日可能有一日之差。至於二十四節氣的情況比較簡單,因為節氣有一日之差完全不影響農曆月份的編排,中氣有一日之差也大多無礙,除非初一日恰好發生在這個中氣的一兩日內,這種特殊情況如果出現或會影響閏月及其他月份次序。我的計算顯示這種特殊情況直到2200年也不會發生。下表列出2050年後預推時刻接近午夜零時的合朔和二十四節氣,因此確實日期或會和預推日期有一日之差。這些情況在本網站的相關網頁用紅色字形註明。


公 曆 年 合朔的預推時刻(UTC+8)
2057 9月29日 00:00:04.5
2089 9月4日 23:57:36
2097 8月7日 23:59:41
2133 9月28日 23:59
2172 10月17日 23:57
2192 5月12日 00:03

公 曆 年 節 氣 預 推 時 刻 (UTC+8)
2051 春 分 3月20日 23:59
2083 立 春 2月3日 23:58
2084 春 分 3月19日 23:59
2084 芒 種 6月5日 00:02
2135 寒 露 10月9日 00:02
2150 春 分 3月21日 00:01
2168 夏 至 6月21日 00:02
2185 大 寒 1月20日 00:01
2186 立 春 2月3日 23:57
2191 大 暑 7月23日 00:00:03
2199 清 明 4月4日 23:59

清 朝 (1645年 – 1911年)

清朝曆法的編算法則和現在的基本上一致,只是時間用北京的地方真太陽時,而不是東經120°區時(即UT1+8)。本網站對這時段的曆日先用現代方法編算,然後與實曆核對把不一致的曆日改正。曆日資料是根據《新编万年历》新编万年历和《三千五百年历日天象》張培瑜97。《新编万年历》在1912年前的日曆根據北京故宮博物院收藏的《大清時憲書》,但是該書只載有1840年後的農曆。《三千五百年历日天象》裡的農曆資料是作者張培瑜根據史載古代曆法的編算法則復原當時曆法,並與存世的曆日資料核對過,書中前言說近400多年的曆書根本上完整地保存了,所以書中至少在明朝中葉以後的曆日應是完全符合當時頒行的日曆,而我也檢查過書中至少在1840年至1911年的曆日資料與《新编万年历》一致。

比較實曆與用現代方法編算的農曆,發現這時段有二百多處不一致。雖然要作二百多項修改,總好過把資料用手一一輸入。我把這些差異列於此網頁。造成這些差異原因除了是所用的時間不同外,還與當時的計算方法不夠準確有關。

清朝的曆法基本上用明末制定的《崇禎曆書》。明朝末年,欽天監推算的日月食有三次與實際天象相差頗大,崇禎皇帝接納改曆建議,命徐光啟組織曆局研究改曆。徐光啟主張採用歐州傳教士傳入的西方天文學計算曆法,曆局先後聘請耶穌會義大利傳教士龍華民(Nicholas Longobardi)、德國傳教士鄧玉函(Johann Schreck)、義大利傳教士羅雅谷(Giacomo Rho)、德國傳教士湯若望(Johann Adam Schall von Bell)等人參與改曆工作,五年後於崇禎七年十一月編譯成一百三十七卷的《崇禎曆書》。由於遭到守舊派的阻撓,新曆法遲遲未有實行。在《明史‧曆志》中記錄了發生過八次中西天文學的較量,包括日食、月食、木星、水星、火星的運動,結果是西法以八比零擊敗中法大獲全勝。崇禎帝深知西法之密,於崇禎十六年(1643年)八月下定頒布新曆的決心,但頒行《崇禎曆書》的命令還沒有實施,明朝就已滅亡。

順治元年(1644年)五月滿清入關後,攝政王多爾袞聽說西洋新曆法精湛,召湯若望入朝問新法之事,不久決定採用。湯若望將《崇禎曆書》刪改壓縮成一百零三卷,更名為《西洋新法曆書》。順治二年(公元1645年),清政府正式頒行依新曆法編算的《時憲曆》。新曆法採用定氣法計算二十四節氣,打破了二千多年來一直沿用的平氣法。日月五星的計算採用第谷‧布拉赫(Tycho Brahe)的系統,其實第谷的系統在當時不是最先進的。

《西洋新法曆書》中有圖與表不合的情況,而且有很多隱晦難曉之處。清政府於康熙五十三年(1714年)命欽天監修訂《西洋新法曆書》,在康熙六十一年(1722年)完成了《曆象考成》,書中仍然沿襲第谷的體系,不但已落後於當時西方的天文學,而且因年代日久而誤差漸大。到了雍正八年(1730年),六月初一的日食與預報的稍有偏差,欽天監監正戴進賢(Ignatius Kögler)和監副徐懋德(Andreas Pereira)奉命修訂曆法,他們根據法國天文學家喬凡尼‧卡西尼(Giovanni Cassini)的計算方法和數據制定了一份日躔、月離表,即太陽和月球運動表。他們把表格附在《曆象考成》諸表之末,既沒有說明製表之依據,也不說明使用方法。欽天監中只有一兩個人懂得使用這表格,情況很不尋常。於是清政府組織人員重修《曆象考成》,於乾隆七年(1742年)編成《曆象考成後編》。書中摒棄了第谷體系,引進開普勒第一和第二定律,不過橢圓的焦點是地球而不是太陽,這在具體計算上得出的結果是相同的。

由於用第谷體系計算的曆法不夠準確,二十四節氣的日期和用現代計算的常有差異,所以在年曆網頁裡在清初仍然列出曆書節氣的日期,即按當時《時憲曆》計算的日期。改用開普勒定理計算曆法後,節氣日期差異大大減小,因此在1733年後除了那些曆書節氣與現代計算有差異外,其餘略去不註。至於合朔,朔日就是每月的初一日,本網站的古代農曆日期全部依當時的曆法,不用另外註明曆書朔日。《100年袖珍干支月曆》劉寶琳書序說《曆象考成後編》有一個數字印錯了,使宣統二年按此書編的《萬年曆》在N1924(甲子年)和N1925(乙丑年)出現了一連串的朔日錯誤,這是中央觀象臺在編《中華民國曆書》的過程中發現的。不知為何如此嚴重的朔日差異在清朝亡國前不見出現。(研習了《曆象考成後編》後知道了原因,日後有空或撰文詳述。)

《時憲曆》打破傳統用定氣法計算二十四節氣後,置閏法則出現了一些問題,以前一直沿用的無中氣置閏法不能再用,因為在一歲內可能會出現兩個無中氣的月份。明末曆局在研究曆改時已注意到這個問題,當時的曆局官員李天經主張按中氣時刻在合朔時刻先後來決定其所屬之月份。如果有中氣和合朔發生在同一日,根據傳統中氣屬於這個月的初一日,但李天經主張要考慮中氣的時刻在合朔時刻之前還是之後,如果在合朔之後,則屬這個月,如果在合朔之前,則屬前一個月。這新法則能應付幾乎所有因採用定氣法而出現的置閏問題。順治二年(1645年)首次用新法編曆,《順治二年歲次乙酉時憲曆》所載的中氣大暑出現在閏六月初一,違反了閏月不含中氣的規定。清朝曆算家汪曰楨解釋說雖然大暑與朔發生在同一日,大暑的時刻早於合朔時刻,屬於前月之中氣,所以閏六月不含中氣。這與李天經的說法一致。但是這新法則只在順治二年用過,以後不再使用。比較順治二年以及以後的閏月安排,顯示當時(順至二年)還沒有完全確立對於採用定氣後的置閏法則。《清史稿》明確說明時憲曆最終採用的置閏法則:「求閏月,以前後兩年有冬至之月為準。中積十三月者,以無中氣之月,從前月置閏。一歲中兩無中氣者,置在前無中氣之月為閏。」這就是農曆法則網頁所列的法則五。此法是湯若望所創,不取李天經之法,可能是因為傳統的無中氣法已能處理大多數的閏月。平歲有無中氣之月或閏歲有兩無中氣之月畢竟罕見,只須稍修改無中氣法便可解決問題。如果用李天經之法,就會出現順治二年的情況,即把本來無中氣法能處理的情況也改得不合傳統。採用定氣法計算二十四節氣已使守舊派十分不滿,如果再用李天經之法必然會引起更多爭議。


西 漢 中 葉 至 明 末 (前104年 – 1644年)

在這一千七百多年間,在中國行用的曆法多達四十部以上,計算方法和現代的大有不同,如果要一一追尋各曆法的計算方法然後核對計算結果就會很費時,所以本網站直接採用《三千五百年历日天象》張培瑜97的數據。核對資料時發現該書在這段期間有四十多處錯誤,其中大部分已被寿星天文历的創始人許劍偉指出,現將已發現的錯誤在此網頁列出。此外,《三千五百年历日天象》在漢武帝太初元年(公元前104年)至漢章帝建初九年(84年)間列出的二十四節氣按《漢書‧律曆志》的次序,即驚蟄在雨水之前、穀雨在清明之前;在建初九年之後則按《淮南子‧天文訓》的次序,即和現在通行的次序一致。《淮南子》成書於公元前139年(漢武帝建元三年)左右,《漢書》則書於公元90年左右(漢和帝年間),可見二十四節氣的次序在東漢時還沒有完全確定。為了避免混淆,本網站不跟從《三千五百年历日天象》,二十四節氣一律按《淮南子‧天文訓》的次序。

本網站從漢武帝太初元年(公元前104年)五月起用《三千五百年历日天象》的數據,五月前用一套漢初曆法的復原法計算(見下一節)。

從漢武帝太初元年至明末這一千七百多年間,有幾件事值得注意。首先是發生了四次改正朔事件:

從漢武帝太初元年至明末這一千七百多年間,中國有時處於分裂局面,有多個政權並存,行用的曆法也不盡相同。我花了一些時間涉獵了其中二十部古代曆法,成功計算了665年以前以及822至892年和1281年至1644年的日曆,619年以前的日曆幾乎完全符合《三千五百年历日天象》的數據,619-665、822-892和1281-1644年的日曆也大部份和《三千五百年历日天象》一致。撐握了這些曆法的推步後就著手編製分裂時代諸國的日曆。

《三千五百年历日天象》附表2到附表4載有分裂時代諸國的朔閏異同表,書中前言說附表的數據參照清朝曆算家汪曰楨編的《歷代長術輯要》。為了方便核對我的推步結果,我用計算機編製了依該書附表格式的三國南北朝時期的朔閏異同表,發現我的推步結果只有幾處與該書的附表不合。其中有三例是該書的附表與正文的數據不合,我的推步符合正文。由於我不是歷史學專家,無從判斷孰是孰非,所以只註明這些矛盾的資料。對於其餘幾處差異,我比較了台灣中央研究院的兩千年中西曆轉換網站和汪曰楨編的《歷代長術輯要》,有四處這些資料和《三千五百年历日天象》一致,於是就修改我的數據,但有四處《三千五百年历日天象》的數據與《歷代長術輯要》或兩千年中西曆轉換網站不一致,所以不取該書的數據。

我本來也想自行編算遼金元三朝的日曆,但是遇到了困難。遼初用後晉司天監馬重績的《調元曆》,遼聖宗統和十二年(994年)改用賈俊的《大明曆》,到金天會十五年(1137年)改用司天楊級的《大明曆》,金大定廿二年(1182年)又用趙知微的《重修大明曆》。《調元曆》和賈俊的《大明曆》已失傳,元朝史官修《遼史‧曆象志》時不知賈俊《大明曆》的內容,竟然說是幾百年前祖沖之的《大明曆》,然後轉抄了《宋書》所載祖沖之的《大明曆》!對於這兩部已失傳的曆法,汪曰楨用他認為相近的曆法替代。《歷代長術輯要》以《宣明曆》替代《調元曆》;以金趙知微的《重修大明曆》替代賈俊的《大明曆》,然後根據《遼史》調整閏月。查看《三千五百年历日天象》附表4的宋遼金元朔閏異同表,發現這時期南北兩朝的曆日差異不大。與其效法汪曰楨先用他曆計算然後調整曆日,不如直接採用附表4的數據,結果是計算遼金元日曆的 JavaScript 程式及所需的 JSON 數據加起來比三國和南北朝的日曆計算還要簡潔。這等同於先用南朝的曆法計算然後調整曆日用於北朝,複雜的計算其實隱藏在南朝的曆法計算中。附表4沒有載遼金元曆法的二十四節氣,年曆網頁的遼金元曆書節氣須要另外計算,計算方法在宋遼金元朔閏異同表網頁表末的備註簡略敘述。

綜合分裂時代的曆法計算,年曆網頁加了三國時蜀和吳的年曆;十六國時加了後秦和北涼的年曆;南北朝時加了北魏、東魏、西魏、北齊、北周及隋朝滅陳前的隋朝年曆;五代末年和宋朝時加了遼、金、蒙古和元朝滅宋前的年曆。只要輸入分裂時代的公曆年,便有按鍵選擇分裂時代的王朝。朔閏表網頁年號網頁也加了這些王朝的朔閏表和紀年表。

**************************

(2019年8月新增內容) 在學習明朝《大統曆》的氣朔推步時,發現了《三千五百年历日天象》、薛仲三和歐陽頤的《兩千年中西曆對照表》、陳垣的《二十史朔閏表》及汪曰楨的《歷代長術輯要》在明朝竟然至少有七個朔日錯誤,現已撰「明朝《大統曆》的定朔計算及曆表朔日訂正」詳細說明,並根據現存明朝《大統曆》曆書改正了本網站明朝的七個朔日資料。

**************************

中國的曆法在這段期間頻頻更改,公曆卻相當穩定,只有一次重大的改革,即1582年的格里高里曆改,1582年前公曆用儒略曆,凡能被四整除的年份是閏年,平年365日,閏年366日,一年的平均日數是365.25日,比回歸年長0.0078日,積128年就有一日偏差,這使春分日期在儒略曆不斷推前。復活節是西方重要的宗教節日,復活節的日期在公元325年確立,取春分月圓後的第一個星期日,但是「春分」和「月圓」不用天文學的定義,而是用近似值。計算復活節時「春分」當時定為儒略曆的3月21日,因為這是當時春分在儒略曆的近似日期,「月圓」則定為某一陰陽曆中某月的第十四日。春分日期在儒略曆的日期不斷提前,離3月21日越來越遠。到了十六世紀末,春分日期已移到3月11日,曆法「失天」的情況引起學者對復活節計算方法的爭議,並要求改曆。於是教皇格里高里十三世在1582年宣佈改曆,把當年10月4日之下一日定為10月15日,跳了十日使春分的日期回到3月21日,並規定在四百年中減去三個閏年,具體方法是凡公曆年是4的倍數但不是100的倍數(例如2016年)都是閏年,如果公曆年是100的倍數但不是400的倍數(例如1900年)就不閏,如果公曆年是400的倍數(例如2000年)則閏。這就是現在行用的格里高里曆,其一年平均日數是365.2425日,頗接近回歸年的數值365.2422日,積3300年才有一日偏差。雖然西方國家並不是都在1582年改用格里曆,歷史學家大多習慣在1582年10月15日起改用格里曆紀日。

儒略曆是羅馬共和國獨裁官儒略‧凱撒(Julius Ceasar)採納埃及亞歷山大的希臘天文學家索西琴尼(Sosigenes of Alexandria)計算的曆法,在公元前45年1月1日正式使用。凱撒不久被殺,而儒略曆在最初36年執行上出現了置閏錯誤,本來應該每四年一閏卻變成每三年一閏,到了公元前9年才發現錯誤。由於已多閏了三次,於是決定停閏三次,到公元8年才恢復正常的閏年。

近代學者陳垣在其著作《二十史朔閏表》和《中西回史日曆》在公元元年開始註有公曆日期,採用古羅馬曆法,公元4年停閏,因此公元元年至3年的日期與現行各國曆表都相差一日。上面提到的兩千年中西曆轉換網站也是在公元4年停閏。張培瑜對這做法不以為然,他在《三千五百年历日天象》前言指出公曆紀年不是古羅馬人在公元元年所創,而是後人在六世紀時創立的,對之前的紀年全部用逆推。西方各國的古代曆法也是十分混亂,創立公曆紀年紀日的目的就是為了將各國曆法轉換成統一的紀日系統以方便研究歷史,所以不應該將古羅馬曆的混亂情況帶到公曆。我贊同張培瑜的見解,本網站的公曆在公元8年以前也是用逆推的儒略曆(proleptic Julian calendar),不考慮古羅馬曆的置閏錯誤,也不考慮2月和8月的日數可能更改過。這也是現代西方學者一般採用的紀年紀日法。


秦 至 漢 初 (前221年 – 前104年)

秦朝及漢初(公元前221年 – 前104年)的曆法沿用顓頊曆的月序。顓頊曆是古六曆之一,據說戰國後期在秦國使用。顓頊曆以建亥(即今天的十月)為年首,但仍稱建亥為十月。月的數序是十月、十一月、十二月、正月、二月……九月,閏月置於年終,稱為後九月。秦朝的曆法與顓頊曆稍有不同。漢朝建立後基本上沿用秦曆,一百年間只作了少許修改,直到漢武帝太初元年(公元前104年)才頒行新曆法,以建寅(正月)為年首,並把閏月置於無中氣的月份,這使公元前104年的農曆年有十五個農曆月。秦朝為了避秦始皇名諱(正、政同音),把正月改稱「端月」,到漢朝又改回正月。本網站沒有跟從歷史,在秦朝仍稱建寅為正月。

本網站這時期的復原日曆是根據李忠林在2012年發表的文章「秦至汉初(前246至前104)历法研究—以出土历简为中心」李忠林。具體計算方法在秦與漢初曆法網頁闡述。雖然復原曆法有效年限估計是秦王政元年(公元前246年)前到漢武帝太初元年(公元前104年)五月,本網站年曆網頁從公元-220年(即前221年)起才用復原曆法、朔閏表網頁則從N-220年(即秦始皇二十六年)起才用復原曆法(年曆網頁以公曆為主、朔閏表網頁則以農曆為主)。兩網頁都在漢武帝太初元年五月起改用《三千五百年历日天象》張培瑜97的數據註二。復原曆法的太初元年三月是小月、四月是大月、五月是小月。改了曆法後,五月朔提前了一天,使四月變成小月,而新曆法的五月又是小月,於是出現了三、四、五三個相連小月,這在平朔法則是不可能的,只有在改曆時才可能出現。如果在太初元年六月才改用太初曆,就會使五月只有二十八日,這在平時也是不可能出現的。


戰 國 時 代 (前480年 – 前222年)

戰國時代各國施行不同曆法,當時使用的曆法有六種:周曆、魯曆、殷曆、夏曆、黃帝曆和顓頊曆,合稱「古六曆」。六種曆法的計算方法大致相同,但各曆的年首不盡相同,用以計算曆法的曆元也不同。本網站在戰國時代列出所有六部古六曆,根據《中国古代历法》張陳薄胡書中第三章第六節所述的資料復原。具體計算方法在古六曆網頁敘述。

夏曆有兩個版本,差別是計算曆法時使用的曆元不同。本網站的夏曆在春秋時代和戰國時代所用的版本不同,春秋時期用的夏曆曆元是雨水合朔齊同,戰國時的夏曆曆元是冬至合朔齊同。

目前學界對於古六曆的閏月位置未有一致意見。本網站假設閏月置於年終,稱為閏月,不用註明閏幾月。有些學者認為當時以無中氣的月份為閏月,所以也註明無中氣的月份以供參考。顓頊曆較為特殊,以孟冬十月為年首,月序是十月、十一月、十二月、正月、二月……九月,閏月置於年終,稱為後九月。

雖然干支紀年可能到東漢才流行,本網站的中曆都載有干支紀年,年曆網頁朔閏表網頁在1912年前還附加帝王年號。在戰國時代,周曆附加東周君王的紀年,周朝於周赧王五十九年(公元前256年)被秦國所滅,東周君王的紀年也到這一年為止。魯曆附加魯國君主的紀年,魯國於魯頃公二十四年(公元前249年)被楚國所滅,魯國君主的紀年也到這一年為止。顓頊曆大約在秦昭襄王時期(公元前306 – 前251)開始在秦國使用,顓頊曆自公元前306起附加秦國君主紀年。

古六曆在戰國時期創制行用,但是當時的曆法已經散失,今天我們只能從漢朝及以後的書藉得知古六曆的資料。這些「漢傳古六曆」與戰國時實際使用的古六曆差異有多大仍未可知。


春 秋 時 代 (前722年 – 前481年)

春秋時期各國施行不同曆法,現在我們只能從《春秋》這部由孔子修訂的魯國編年史書中獲得當時魯國施行曆法的不完整資料。這裡稱當時魯國的曆法為春秋曆,本網站的春秋曆是根據《中国古代历法》張陳薄胡書中第三章第五節的資料復原。具體計算方法在春秋曆網頁闡述。

春秋曆沒有固定的置閏法則,正月的月建並不固定,而是在建亥(即現在的十月)與建寅(現在的正月)之間擺動。春秋初期的正月月建多在建丑(現在的十二月),末期則多在建子(現在的十一月)。目前學界對於春秋曆的閏月的位置末有一致意見。本網站假設閏月置於年終,稱為閏月,不用註明閏幾月。春秋曆沒有計算冬至(或其他節氣)的方法,當時的冬至是靠觀測而定,所以沒有曆書節氣。由於春秋曆在魯國使用,年曆網頁朔閏表網頁中附加魯國的君主紀年。

除了春秋曆外,本網站還提供周曆、殷曆和夏曆(其中三部古六曆)的資料。一般認為這三部曆法應在春秋末期或戰國時代才建立,把這三部曆法在春秋時期列出僅供參考而已。如上一節所述,夏曆有兩個版本,本網站在春秋時期用的夏曆曆元是雨水合朔齊同。


聯 絡

如有任何擬問或發現本網站的資料有誤,請電郵yuktungliu[AT]gmail[dot]com查詢或指正。



備 註 和 參 考 文 獻