夏曆漫談

什麼,今年沒有大年三十?相信不少人臨近過年纔發現這個「嚴重」的問題,莫非是2012世界末日到了?當然是開玩笑,不過話說回來,大家也應該還有印象,因爲上次沒有大年三十是2006年,距今還不算遠。要問爲什麼,大家都會說這是曆法規定的,但真的能弄懂夏曆曆法的人真可謂屈指可數了。我試圖通過這篇文章帶領大家從零開始,認識我們的中華夏曆。

古六曆

夏曆,又叫「農曆」,俗稱「陰曆」或「舊曆」。中國絕大部分傳統節日,如春節、端午、中秋、重陽,都是以夏曆計算的。夏曆,顧名思義,乃是有夏一朝的曆法,名列「古六曆」之一。「古六曆」是傳說中上古的六種曆法,即「夏曆」、「殷曆」、「周曆」、「魯曆」、「黃帝曆」、「顓頊曆」。其中「黃帝曆」和「魯曆」由於缺乏歷史文獻,均已難考,而「夏曆」、「殷曆」、「周曆」則有歷史作證。

由於曆法涉及到祭祀農桑,乃宗法大事,所以每當改朝換代,曆法總要推陳出新。「夏曆」、「殷曆」、「周曆」就分別是夏商周三代的曆法。夏殷周三曆的主要區别在於一年以不同的月份爲起始月,即不同的正月。《史記‧曆書》云「夏正以正月,殷正以十二月,周正以十一月。」就是說夏曆以一月爲正月,殷曆以丑十二爲正月,周曆以十一月爲正月。換言之,商周曆法的正月都比前朝提前了一個月。

說到夏曆與周曆,不得不提起《詩經》中的一個名篇——《七月》: 七月流火,九月授衣。 一之日觱發,二之日栗烈。 無衣無褐,何以卒歲? 三之日於耜,四之日舉趾。 同我婦子,饁彼南畝。田畯至喜。

《七月》是《詩經‧國風》中最長的一首詩,生動的記載了農民一年四季的勞動生活,而其最大的亮點還是詩章詠唱之間提到了兩種不同的曆法。上面這段文字中有「七月」「九月」「一之日」「二之日」「三之日」「四之日」幾個不同的時節,其中「七月」、「九月」指的就是夏曆的七月和九月,而「一之日」、「二之日」、「三之日」、「四之日」則是周曆中的一、二、三、四月,對應了夏曆的十一月、十二月、一月和二月。《七月》一篇至少證明了夏曆和周曆都是可靠的,而不是後人託古僞造。

夏曆的演變

古六曆中的「顓頊曆」相傳乃三皇五帝之顓頊帝所創,以三百六十五又四分之一天爲一年,取十九年七閏法,可謂中國傳統曆法最早的雛形。顓頊曆的正月在周曆的基礎上又提前了一月,以夏曆十月爲歲之起始。在秦朝和漢初,顓頊曆一直是官方曆法。漢武帝時期制訂了「太初曆」,重新以夏曆一月爲歲首,自此以後各部曆法的「正月」就沒有再發生過變化了,這也是爲什麼近世以「夏曆」來代稱中國傳統曆法。從漢代到明代的一千多年間,中國歷史上出現了數十種曆書,其中不乏很多有重大影響的創製,但幾乎都是在前世的基礎上進行修正。我們今天使用的「陰曆」實際上是明朝崇禎年間編纂的「時憲曆」,又名「崇禎曆書」,這部曆書作爲官方曆法貫穿明清兩代,直到1912年中華民國建立以後纔被公曆取代。

提醒一下,文章開頭和以下提到的「夏曆」「陰曆」「農曆」均指沿用至今的「時憲曆」。儘管歷史上的「夏曆」和今天的「時憲曆」已經很不相同,但爲了避免混淆,我們還是儘量用「夏曆」來代稱。

陰陽曆

我們一般會把夏曆俗稱爲「陰曆」,但實際上夏曆並不是真正的陰曆,真正的陰曆是完全按照月相來規定的曆法,每個月29.530588天,一年有12個朔望月,約354日。現今常用的曆法中只有伊斯蘭曆是真正的陰曆。相對於陰曆,陽曆是根據太陽直射點的變化週期來制定的,也就是說陽曆一年的長度等於一個回歸年,古稱「歲實」,平均365.242天。我們所說的「公曆」(格裏高利曆)就是一種陽曆。

中華夏曆既不是純粹的陰曆也不是純粹的陽曆,而是一種「陰陽曆」。陰陽曆的特點是既能保證每月符合月相變化週期,又能保證每年的平均長度等於一個回歸年。夏曆的大月30天,小月29天,平均每月為29.5天,與朔望月週期一致,平年353到355天,閏年383到385天,每十九年平均365.247天,差不多等於一個回歸年。

月相 月相

據考證陰陽曆可能起源於殷商時期,因爲商代人十分重視占卜祭祀,要求曆法與月相吻合,而其高度發達的農業文明也必然依賴精確的陽曆,因此便產生了通過置閏來實現的陰陽曆技術。

二十四節氣

世界上大部分曆法都是陽曆,而陰曆和陰陽曆較少。其原因主要在於太陽位置決定了地球上的溫度、光照、季風等因素,對人類活動有十分重大的影響。相比之下一般人除非是祭祀占卜活動,不會太關注月相。中國古代一直是一個樸實的農耕文明社會,對農時精確計量的要求十分迫切,因此祖先們又根據陽曆發明了一套「二十四節氣」的計算方法。

二十四節氣起源於上古日晷記錄的陽曆年中的「日長至」和「日短至」,後又有了「春分」和「秋分」,一直發展爲二十四個節氣日。二十四節氣的每個節氣對應了太陽在黃道上運行15度,又可細分爲十二節氣和十二中氣:

月份 節氣 中氣
正月 立春 雨水
二月 驚蟄 春分
三月 清明 穀雨
四月 立夏 小滿
五月 芒種 夏至
六月 小暑 大暑
七月 立秋 處暑
八月 白露 秋分
九月 寒露 霜降
十月 立冬 小雪
冬月 大雪 冬至
臘月 小寒 大寒

二十四節氣

十九年七閏

我們知道,一個朔望月是29.53天,一年十二個月就是354.36天,而一個歲實是365.24天。這樣下來每年陰曆和陽曆都有10.88天的差距,如何抹平這個差距呢?夏曆採用了「置閏」的方法,用一句話概括,就是「十九年七閏」。夏曆每19年有7個閏月,也就是說19年中有12年是每年12個月,有7年每年13個月,19年總共就是235個月,6939.69天。依據陽曆,19年總共有6939.60天,與夏曆只相差約0.09天,所以古人利用「十九年七閏」的方法保證了陰曆與陽曆的平衡。

夏曆的置閏規則到底是怎樣的呢?這個要從二十四節氣的推算方法說起。二十四節氣是與陽曆緊密契合的,平均每兩個節氣之間的有15.22天的間隔。我們可以看到在公曆中二十四節氣的時間是比較固定的,每個月上下半月分別有一個節氣和一個中氣。而在夏曆中就不一樣了,因爲每個月只有29.53天,假設某個月的初一是中氣日,那麼下個月出現的節氣和中氣就會向後順延0.91天,32.45個月後,將會有一個月沒有中氣。夏曆就規定「沒有中氣的月份爲閏月」,這樣每32.45個月有一個閏月,相當與每2.70年一個閏月,大致就是「十九年七閏」。

例如2012年5月20日是夏曆四月三十,這一天是小滿中氣。下個月的十六日是芒種節氣,但沒有中氣,因此將這個月稱爲閏四月。

讀到這裏,相信你也已經知道了爲什麼每年春節越過越早卻總在公曆1月下旬到2月中旬之間了。不過我要提醒的是,這僅僅是夏曆置閏最簡單的描述,很多細節和附加規則並沒有詳細說明,因此可能會遇到「雙中氣」「假閏月」「冬至不在十一月」等特殊現象,如「2033年問題」。

爲什麼今年沒有大年三十?

讓我們回答開頭的那個問題:「爲什麼今年沒有大年三十?」我們知道一個朔望月是29.53天,但曆法中月份的天數必須是整數,因此夏曆採用了大小月交替出現的方法來保證平均每個月的時間接近朔望月週期。夏曆規定大月30天,小月29天,以新月出現的那一天爲初一,如果新月出現的時間是正午,那麼這個月就是小月,如果新月出現的時間是午夜,那麼這個月就是大月。因此沒有大年三十一點也不奇怪,只不過是這一年臘月是小月罷了。

參考資料

維基百科 農曆 維基百科 陰陽曆 維基百科 節氣 果殼網 今年爲什麼沒有年三十? 如何轉換陰陽曆 百度知道 中國農曆紀年是誰發明的

相關日誌