立場新聞 Stand News

略談農曆曆法,以及置閏的規則

2019/1/3 — 11:20

近日看到網上流傳的一條短片,內容為香港著名科普學家李偉才(筆名李逆熵)談及有關農曆與陰曆等的稱呼問題,而且提及有關農曆置閏的規則時,說道:「習慣上,這個(閏)月可以是農曆十一、十二和正月(即農曆一月)以外任何一個月」,今次我就想藉著曆法的一些稱呼問題以及這種置閏的說法,跟大家介紹一下。

農曆:協調陰陽的「陰陽曆」

現代香港人的日常生活基本上已經使用所謂的「新曆」或「陽曆」,中國傳統曆法的用途基本上只剩下記錄中國節日和給民間風水使用;一般人會稱中國傳統曆法為「舊曆」或陰曆。不過,雖然中國傳統曆法因相對於「新曆」而稱為「舊曆」是可接受的,但若因為相對於「陽曆」而稱中國傳統曆法為「陰曆」,則是不準確的,中國傳統曆法是典型的「陰陽曆」。

廣告

世界絕大部分的曆法,其實都在處理兩種循環:月相盈虧的「月」循環、以及四季變更的「年」循環。可惜的是,兩個循環的長度並不是簡單倍數關係(一「年」大約有 12.4 個「月」),所以不同的曆法在處理月和年的關係時,就會使用不同的手法。

一般而言,處理手法有三種。第一種就是完全不理「年」循環的實際長度,規定一「年」的長度等於整數的月份(通常是 12 或 13 個月),月的長度大約等如「月」循環的長度。這種曆法稱為「陰曆」或「純陰曆」,它的最大特色是不同年份的新年會在不同的季節出現,有時在夏天過新年,過了十多年後就會變成在冬天過新年。伊斯蘭曆和古猶太曆就屬於純陰曆。

廣告

第二種處理手法就是完全不理「月」循環的長度去制定曆法中一個「月」的長度,只把曆法盡量貼近「年循環」的長度。新曆中的「月」的長度和月相盈虧完全脫節,新月和滿月可以在一個月份內任何一個日子出現;這種曆法稱為「陽曆」或「純陽曆」。我們使用的新曆就屬於這種曆法。

第三種處理手法就是把曆法中一個月的長度和「月」循環掛勾,並在適當的年份加插閏月,使曆法中一年的平均長度大約等於「年」循環的長度;這種曆法因為同時兼顧「月」的長度和「年」的長度,所以稱為「陰陽曆」,中國傳統曆法就屬於這種曆法。

朔日:農曆中的陰曆成分

因為中國傳統曆法兼顧月循環和年循環,所以它的曆法規則必然比純陽曆或純陰曆複雜,但只要慢慢拆解,還是不難理解的。那我們首先說一下月循環吧!中國傳統曆法以「朔日」(即月相走到剛好完全看不到的那一天)為每個月的月首並定為初一,而因為朔望月的長度約為 29.53 日,所以曆法上的月份分別會有 29 日和 30 日的長度,稱為「小月」和「大月」。

在唐朝以前,因為計算技巧及觀測準繩度等原因,中國人未能非常準確地預測「朔」會坐落在哪一天,因此只能利用月份的平均長度,把「朔」盡量放到初一日,但間中會「失落」在前一月的最後一天或初二。這種利用月份平均長度決定每個月份的長度,稱為「平朔」。唐朝以後,隨著數學技巧和科技的進步,中國人開始可以預確預測朔日坐落在哪一天,而曆法也慢慢跟上這種知識上的進步,把初一日準確定到朔之上,這種決定月首的方法,稱為「定朔」。

順帶一提,中國傳統曆法基本只會處理「朔日」在月份的位置,即初一日一定是朔日,但並不會處理「望日」(即滿月那一天)的位置,因此滿月有可能坐落在農曆十五日、十六日甚至十七日上,而不是必定在十五日上,也因此中秋節(農曆八月十五)不一定是月亮最圓的日子。

二十四節氣:農曆中的陽曆成分

除了處理月循環外,中國傳統曆法還需要處理一個年循環的準確長度,而這個處理的最終結果,就是二十四節氣,二十四節氣就是中國傳統曆法中用來表示「年」長度的指示物。

雖然現代人已經知道並不是太陽圍繞地球轉動,而是地球環繞太陽作公轉,但在地球上來看,地球繞日的周年運動的視覺結果,卻是太陽對比背後的星空背景,每年環繞地球一周,中國人把太陽在這一年的運動軌跡稱為黃道。要注意,這裡說的不是太陽日出日落的運動,日出日落稱為太陽的「周日運動」,是由地球每天自轉一圈所造成的,與地球每年公轉的「周年運動」是兩個不同的視運動。

geogebra-export.gif

知道黃道是怎麼一回事後,就可以開始說如何產生二十四節氣。中國人由冬至點開始,把整條黃道每 30 度平均分成 24 等份,每個節點分別對應二十四節氣。當太陽運行到黃道對應的位置時,那一日就是對應的節氣。

(圖片來源:香港天文學會)

(圖片來源:香港天文學會)

有了二十四節氣的日子後,我們就可以決定閏月的位置了。首先把二十四節氣再細分為十二個「中氣」和十二個「節氣」,中氣和節氣相間的排列,而十二個中氣是決定閏月的重要依據。由冬至所在的月份開始,把所有擁有中氣的月份,以十二地支命名,即「冬至」對應為「子月」、「大寒」對應為「丑月」、「雨水」對應為「寅月」,如此類推。這些月份就是曆法中「正常」的月份。而中國由漢武帝開始,就習慣把一年的開始定在「寅月」(當然有少量例外,如武則天時期),即「寅月」為正月、「卯月」為二月、「子月」為十一月、「丑月」為十二月等等。這種製定新年的做法,稱為「夏正」或「建寅」。

不過因為一個農曆月份的長度只有 29 或 30 日,而每個中氣之間可以有30日或以上的長度,所以有時候一年內會有一個月的中間沒有任何中氣;或以中氣的角度看,有一個月完全落在兩個中氣之間,而中國傳統曆法就會把這個月訂為閏月,而其稱呼則跟其前一個月份,稱為「閏 X 月」,例如六月後的閏月,就稱為「閏六月」。

這就是中國傳統曆法對於閏月最基本的規則。當然實際操作上還有很多例外情況,例如一年內有兩個月均無中氣,一個月中有兩個中氣等等,這些特別情況也會有特別的規則去決定哪一個月是正常月份、哪一個月是閏月,但篇幅所限,今次暫且不談,各位有興趣可以自行搜查「2033 年置閏問題」。

「平氣」與「定氣」:西學東來的最早應用

不過因為地球環繞太陽運行的軌道不是一個完美的圓形,而是一個橢圓形,而且地球會在較接近太陽時移動較快,而在遠離太陽時移動較慢,因此反映到太陽在黃道上的移動速度並不平均,這也會令到每個節氣之間的長度不平均。但中國人直至明朝末年都還未能清楚預測太陽每一天的所在位置,因此也無法完全準確判斷二十四節氣在一年中的準確時刻。所以在明朝之前,中國的曆法都是把二十四節氣平均分佈在一歲的長度之中(「一歲」指兩個冬至之間的時間間隔),這種決定節氣日子的方法,稱為「平氣」。

在平氣的曆法中,每個節氣之間的長度大約相同,也因此閏月落到每一個月後的機會率大約相等,即閏十一月、閏十二月和閏正月的出現機會與閏其他月份的機率差不多相同。但這種情況,在明末清初時將會出現改變。

在西方的傳教士開始來到中國傳教後,西方的天文學和幾何學也隨著傳教士來華而來到了東方。當來華的傳教士證明了自己的天文學和幾何學在預測各種天文現象上比中國的準確很多後,崇禎皇帝就下令禮部待郎徐光啟聯同數位傳教士著手改曆。徐光啟和湯若望等人,利用了當時西方最新的第谷宇宙模型,去計算太陽的位置以及二十四節氣的準確時刻,並同時大量翻譯西方幾何學和天文學的著作,最終於崇禎七年寫成「崇禎曆書」,或稱為「時憲曆」。

左:利馬竇,右:徐光啟
徐光啟除了與湯若望等傳教士編寫《崇禎曆書》外,也曾與傳教士利馬竇合作翻譯西方幾何巨著《幾何原本》前 6 卷

左:利馬竇,右:徐光啟
徐光啟除了與湯若望等傳教士編寫《崇禎曆書》外,也曾與傳教士利馬竇合作翻譯西方幾何巨著《幾何原本》前 6 卷

但崇禎帝並沒有立刻施行時憲曆,因為時憲曆的準確性一直受到中國的保守官員所質疑。直到崇禎十六年,崇禎帝才下定決定施行新曆。但新曆還來不及頒佈,闖王李自成就打進了北京,明朝就滅亡了。湯若望於是就把時憲曆改寫一下再帶到順治帝的手上,並在順治二年開始施行,自此中國的曆法就由使用節氣平均值「平氣」,進入使用準確節氣時刻的「定氣」。

定氣下的閏月:為何少見閏十一月、閏十二月及閏正月

如前所述,因為地球會在較接近太陽時移動較快,而在遠離太陽時移動較慢,使得太陽在黃道上的移動速度並不平均,因此在使用「定氣」去製曆時,每個節氣之間的長度也會有不同的長度。因為地球是在每年新曆的一月左右經過近日點,因此冬天附近的節氣相隔也比較短,每個節氣之間平均相隔 14-15 天,即兩個中氣之間相隔只有 29-30 天,幾乎等於一個朔望月的長度,甚至比一個月還短。

相對而言,在夏天的節氣之間相隔就會比較長,每個節氣之間平均相隔 16-17 天,即兩個中氣之間相隔 32-33 天。由此可以看出,整個月份落入兩個中氣之間的的情況,必然較常出現在間隔比較大的夏天,而極少出現在間隔幾乎和月份本身長度相等的冬天,即農曆十一月、十二月和正月的時候。所以中國傳統曆法中幾乎沒有出現閏十一月、閏十二月和閏正月,原因絕對不是甚麼「習慣上」,而是因為天文學上的客觀原因,因為地球在那些月份附近經過近日點,公轉速度加快之故。

而事實上,現代的中國曆法中,其實也是有閏十一月、閏十二月和閏正月的,例如 2033 年就會迎來中國傳統曆法使用定氣後第一個閏十一月;在 2262 年就會出現閏正月;而在一千三百多年後的 3358 年,我們就可以見證第一個閏十二月的出現了。

原刊於作者博客

發表意見