久久精品成人_污污的动态图_男女无遮挡毛片视频播放_拼多多免拼单怎么操作


本 網 站 的 農 歷 編 算

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


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

下面用Ny表示年首最接近公歷1月1日的中歷年。例如N150指漢桓帝和平元年,始于公元150年2月15日,終于151年2月3日。


內容

  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)編制的DE431DE431歷表計算。注一 噴射推進實驗室的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的轉換公式取自Stephenson等人(2016)及Morrison等人(2021)的擬合公式SM16,1972年到現在的TT-UTC根據正式公布的閏秒計算,2022年后的TT-UTC根據Stephenson等人(2016)及Morrison等人(2021)的外推公式計算,其實他們的公式是用來預推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:4811月23日 00:39
1913秋分9月23日 23:539月24日 00:48
1917大雪12月8日 00:0112月7日 23:47
1927白露9月9日 00:059月8日 23:52
1928夏至6月22日 00:066月21日 23:53
1979大寒1月20日 23:59:541月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秒的誤差?!?00年袖珍干支月曆》的節氣計算可能也是用類似精度的太陽歷表計算,因為書中所列的節氣時刻和我推算的時刻常有一分鐘偏差,而這樣的偏差不見于紫金山天文臺編的《2015年中國天文年歷 》,其實這也不奇怪,因為《2015年中國天文年歷 》用DE421歷表計算太陽位置,DE421和DE431在近幾十年的差異十分微少。不管怎樣,這些二十四節氣的日期雖然相差一天,但是并沒有影響農歷月份的編排,我在本網站相關的網頁用紅色字形指出了這些差異。

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


公 歷 年合朔的預推時刻(UTC+8)
20579月29日 00:00:40
20899月4日 23:59:11
20978月8日 00:02
21152月24日 23:59
21165月12日 23:59
21339月29日 00:02
216512月4日 00:00:29
217210月18日 00:01

公 歷 年節 氣預 推 時 刻 (UTC+8)
2051春 分3月20日 23:59:19
2083立 春2月3日 23:59:27
2084春 分3月20日 00:00:35
2114小 雪11月22日 23:58
2142白 露9月8日 00:00:11
2155霜 降10月23日 23:58
2157冬 至12月21日 23:59
2183春 分3月20日 23:59:46
2186立 春2月4日 00:02

清 朝 (1645年 – 1911年)

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

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

2020-12-12 更新: 造了時憲歷日月位置及節氣和月相時刻的在線工具,或可供研究清朝天文學史的學者參考。

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

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

康熙五年(1666年)至八年(1669年)因歷獄而復用明朝《大統歷》,二十四節氣改回平氣。清朝歷算家汪曰楨在其《歷代長術輯要》說清欽天監后來編的《御定萬年書》(乾隆年間編成,后來多次續修延長年限)在這幾年的二十四節氣日期仍用定氣,系后來以新法追改之故。鄭鶴聲《近世中西史日對照表》鄭鶴聲的二十四節氣日期采用《萬年書》的數據,所以也與實歷不符,查張培瑜《三千五百年歷日天象》也發現其二十四節氣日期是定氣,亦與《近世中西史日對照表》的資料一致。由于未能找到這幾年的《大清時憲歷》,本網站在這幾年提供兩套歷書節氣:其一取《三千五百年歷日天象》的數據,此乃根據西洋新法追推的定氣;另一套歷書節氣根據《大統歷》推算。至于朔日,依明朝《大統歷》和依《西洋新法歷書》計算結果在這幾年的日期完全一致,只是由于節氣日期的差異使康熙八年和九年的置閏出現分歧:依《大統歷》康熙八年閏十二月,依《西洋新法歷書》則在康熙九年閏二月。這情況史書也有記載:康熙八年三月,比利時傳教士南懷仁(Ferdinand Verbiest)受任欽天監監副治理歷法,指出按舊法推出的閏十二月不妥,按新法置閏當在明年二月??滴醯勖Y部詳查此事,欽天監官員多支持南懷仁,于是下詔「罷康熙八年十二月閏、移置康熙九年二月。其節氣占候、悉從南懷仁之言」(《康熙朝實錄?卷二十七》)。由此可知《大清康熙八年歲次己酉時憲歷》有兩個版本,一是以舊法推算,一是以西洋新法推算。

《西洋新法歷書》中有圖與表不合的情況,而且有很多隱晦難曉之處。清政府于康熙五十三年(1714年)開始修訂《西洋新法歷書》,在康熙六十一年(1722年)完成了《欽若歷書》,雍正年間更名為《歷象考成》。此書以康熙帝的名義御制,康熙帝有意擺脫傳教士對歷算的控制,在暢春園蒙養齋創建了算學館,招攬人才研習西方的數學和天文學及編撰書籍,《歷象考成》就有很多中國學者參與編寫,書中也加入了一些中國學者的研究成果。《歷象考成》成書后,算學館里中國學者認為他們已掌握了西方的天文歷算,開始挑戰傳教士對歷算的領導地位,有人提出欽天監不應再由西洋人把持。其實他們對當時西方天文學的進展一無所知,《歷象考成》仍然沿襲第谷的體系,不但已落后于當時西方的天文學,而且因年代日久而誤差漸大。雍正八年(1730年)六月初一發生日食,這是《歷象考成》成書后首次在京師可見的日食。欽天監監正戴進賢(Ignatius Köler)和監副徐懋德(Andreas Pereira)為了顯示他們的歷算權威仍無可取代,趁這次日食指出《歷象考成》的預報與觀測有微小偏差,欽天監滿洲監正明圖上奏說若不及時修理歷法恐愈久愈差。于是戴進賢和徐懋德奉命修訂歷法,他們根據法國天文學家喬凡尼?卡西尼(Giovanni Cassini)及德國傳教士格拉馬迪庫思(Nicasius Grammaticus)的計算方法和數據制定了一份日躔、月離表,即太陽和月球運動表。他們把表格附在《歷象考成》諸表之末,既沒有說明制表之依據,也不說明使用方法。欽天監中只有三個人懂得使用這表格,情況很不尋常。于是清政府組織人員重修《歷象考成》,于乾隆七年(1742年)編成《歷象考成后編》。書中摒棄了第谷體系,引進開普勒第一和第二定律,不過橢圓的焦點是地球而不是太陽,這在具體計算上得出的結果是相同的。月球的運動源自牛頓的月亮模型,這模型結合了開普勒定律、英國天文學家霍羅斯(Jeremiah Horrocks)的橢圓心轉動模型和牛頓用其萬有引力理論推出的若干修正項。Cook, Kollerstrom

由于用第谷體系計算的歷法不夠準確,二十四節氣的日期和用現代計算的常有差異,所以在年歷網頁里在清初仍然列出歷書節氣的日期,即按當時《時憲歷》計算的日期。改用開普勒定理計算歷法后,節氣日期差異大大減小,因此在1733年后除了那些歷書節氣與現代計算有差異外,其余略去不注。至于合朔,朔日就是每月的初一日,本網站的古代農歷日期全部依當時的歷法,不用另外注明歷書朔日。

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


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

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

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

從漢武帝太初元年至明末這一千七百多年間,有幾件事值得注意:

  1. 發生了四次改正朔事件:

    • 公元9年,王莽建立新朝,改正朔以殷正建丑(即現在的十二月)為年首,故N8(戊辰年)只有十一個月。農歷月的數序是:建丑為正月、建寅為二月等等,與現在通用的月序相差一個月。新朝于地皇四年(癸未年,N23)亡,次年恢復以建寅(即現在的正月)為年首。N23(癸未年)有兩個十二月(建子和建丑)。
    • 魏青龍五年(丁巳年,N237),魏明帝改正朔,以殷正建丑(即現在的十二月)為年首,二月后實施,并改元景初元年。所以N237丁巳年沒有三月份,二月后的月份是四月。農歷月的數序是:建丑為正月、建寅為二月等等,與現在通用的月序相差一個月。景初三年(N239)明帝駕崩,次年恢復以建寅(即現在的正月)為年首。景初三年有兩個十二月(建子和建丑)。另外,青龍五年正月開始使用新歷法,使青龍四年十二月只有二十八日。
    • 公元689年12月,武則天改正朔,以周正建子(即現在的十一月)為年首,建子改稱正月,建寅(即現在的正月)改稱一月,其他農歷月的數序不變(即正月、十二月、一月、二月??十月)。公元701年2月又改回以建寅為年首。N689(己丑年)只有十一個月(其中一個月是閏月),而N700(庚子年)有十五個月(其中一個月是閏月)。
    • 公元761年12月,唐肅宗改正朔,以周正建子(即現在的十一月)為年首,建子改稱正月、建丑(即現在的十二月)改稱二月、建寅(即現在的正月)改稱三月等等,與現在通用的月序相差二個月。公元762年4月又把農歷月的數序改回以建寅為正月、建卯為二月等。N761(辛丑年)只有十個月,而N762(壬寅年)則有十四個月,其中有兩個四月(建卯和建巳)和兩個五月(建辰和建午)。
  2. 從漢武帝太初元年至明末這一千七百多年間,中國有時處于分裂局面,有多個政權并存,行用的歷法也不盡相同。我花了一些時間涉獵了其中二十部古代歷法,成功計算了665年以前以及822至892年和1281年至1644年的日歷,619年以前的日歷幾乎完全符合《三千五百年歷日天象》的數據,619-665、822-892和1281-1644年的日歷也大部分和《三千五百年歷日天象》一致。撐握了這些歷法的推步后就著手編制分裂時代諸國的日歷。

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

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

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

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

  4. 中國的歷法在這段期間頻頻更改,公歷卻相當穩定,只有一次重大的改革,即1582年的格里高里歷改,1582年前公歷用儒略歷,凡能被四整除的年份是閏年,平年365日,閏年366日,一年的平均日數是365.25日,比回歸年長0.0078日,積128年就有一日偏差,這使春分日期在儒略歷不斷推前。復活節是西方重要的宗教節日,復活節的日期在公元325年確立,取春分月圓后的第一個星期日,但是「春分」和「月圓」不用天文學的定義,而是用近似值。計算復活節時「春分」當時定為儒略歷的3月21日,因為這是當時春分在儒略歷的近似日期,「月圓」則定為教會歷(ecclesiastical calendar)某月的第十四日。教會歷是一種陰陽歷,歷法的朔望依默冬章(Metonic cycle)計算,即假設235個朔望月等同于19個回歸年,這也是中國古代十九年七閏法的依據。但是235個朔望月(6939.688日)比19個回歸年(6939.6075日)長0.08日,積久漸差。歷法之回歸年及朔望月偏差使春分日期在儒略歷的日期不斷提前,天文學上月圓之日亦漸漸偏離歷法的月圓日。到了十六世紀末,春分日期已移到3月11日,望日也比歷法推算的月圓日早了四日,歷法「失天」的情況引起學者對復活節計算方法的爭議,并要求改歷。于是教皇格里高里十三世在1582年宣布改歷,把當年10月4日之下一日定為10月15日,跳了十日使春分的日期回到3月21日,并規定在四百年中減去三個閏年,具體方法是凡公歷年是4的倍數但不是100的倍數(例如2016年)都是閏年,如果公歷年是100的倍數但不是400的倍數(例如1900年)就不閏,如果公歷年是400的倍數(例如2000年)則閏。這就是現在行用的格里高里歷,其一年平均日數是365.2425日,頗接近回歸年的數值365.2422日,積3300年才有一日偏差。歷改也修改了朔望的計算,使算出的朔望日在較長時間內不偏離真實的朔望日。然而只有義大利、西班牙、葡萄牙、法國、波蘭、低地國家及這些國家的殖民地在1582年遵從教皇指示改用新歷,基督新教及東正教等國家起初抵制新歷,后來陸逐采用。希臘于1923年才改用格里歷,是最遲采用新歷的歐洲國家。雖然西方國家并不是都在1582年改用格里歷,這里遵從慣例在1582年10月15日起改用格里歷紀日。注三

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

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

  6. 公歷月名的英文是January, February, March, April, May, June, July, August, September, October, November和December,中文一般意譯為1月、2月……12月等,但是從January到August的八個月名其實和月序無關,September至December則是七月、八月、九月和十月的意思,這是因為古羅馬歷本來以March作為一年的起始月,十二個月中只有前十個月有月名: March, April, May, June, Quintilis, Sextilis, September, October, November 和 December,最后兩個月沒有月名。March, April, May, June來自戰神瑪爾斯(Mars)、花開之月(又一說是來自美麗女神阿佛洛狄忒Aphrodite)、女神瑪雅(Maia)及女神朱諾(Juno),Quintilis至December是五月至十月,后來最后兩個月得名January(守護神雅努斯Janus)和February(源自古代凈化心靈及懺悔的節日)。約公元前八世紀與前二世紀之間,羅馬歷的起始月由March改為January。公元前45年的儒略歷改并沒有更改月序,但是為了紀念儒略?凱撒(Julius Ceasar)和羅馬帝國開國君主奧古斯都?凱撒(Augustus Ceasar),他們出生之月份改用他們的名字:公元前44年Quintilis更名為July(儒略月)、前8年Sextilis更名為August(奧古斯都月),變成了今天的月名。

    雖然January第一日在羅馬歷很早就定為一年之始,但是某些歐洲國家雖然后來也采用儒略歷或格里歷,可能因各地傳統不同他們以前不一定取January首日為年首。例如某國家以前可能以March的第一日作為年首,另一國家以前或以March的第25日(接近春分日)為年首,又另一國以前或以December的第25日(接近冬至)為年首等。史學家有時會用雙重紀年紀日來記事,例如"10/20 February 1661/62"表示日期是February的第十日(儒略歷)或February的第二十日(格里歷),年份是1661年或1662年,視乎用何日為年首。這情況類似中國的分裂時代,各政權各自頒歷,因此年首和日期也不盡相同。所以用統一的紀年紀日對研究歷史很有用,本網站的公歷依慣例一律以January第一日為年首,月份的英文名一律用現在通行的月名,中文一律譯為1月、2月、3月……12月,為避免混淆,這里的公歷月名用阿拉伯數字,中歷月名則用漢字。如前述,1582年10月15日起用格里歷,公元8年至1582年10月4日用儒略歷,8年前則用逆推儒略歷(proleptic Julian calendar)。

    據說很多華人以西方月名來譯農歷的月名,例如以June來譯農歷六月,使一些西方人士感到困惑,不知道是在說公歷的月份還是農歷的月份。這樣的譯法,就像用「正月」來譯公歷的January、「冬月」譯November、「臘月」譯December等,并不足取,所以本網站不采用這拙劣譯法。


秦 至 漢 初 (前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年)

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

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

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



備 注 和 參 考 文 獻