2020年8月26日 星期三

閏月是怎麼決定的 (1):概論

因為日月運行各週期間不是倍數的關係,若是曆法要追求貼近真實星體的運行,會需要用「閏」的方式。例如西曆(格里曆)的閏年會在二月多一天,規律大家多半都很熟知,逢四閏,逢百不閏、逢四百閏。而大家一定都知道農曆偶爾會出現閏月,那農曆閏月是怎麼來的呢?

月球繞地球一圈的「朔望月」約 $29.5306$ 天,如果一年以$12$個月來計的話,$29.5306 \times 12 = 354.3672$,跟一個回歸年的 $365.2422$ 天相差十天多,長久下來每三個回歸年便會相差約一個月。若沒有透過閏月校正,過了數年,農曆的同個「月」可能會出現在不同的季節。有些曆法如伊斯蘭曆也是照著月球運行的方式決定月的天數,但這類曆法較不在意月份與季節是否需要有一定的相符,因此便沒有如農曆「閏月」的設計。

讀者們可能會聽說過「十九年七閏」的方法,這其實很早而且在不同文化、曆法中都有發現到這件事。

因為一個回歸年 $365.2422$ 天,若經過 $19$ 年,$ 365.2422 \times 19 = 6939.602$,其天數跟 $235 $ 個朔望月 $29.5306 \times 235 = 6939.691$ 的天數非常接近,而 $235 = 12 \times 19 + 7 $,也就是在這$19$年間,每年除了$12$個月之外,如果在$19$年間另外加入$7$個月的話,回歸年與朔望月便會形成一個很接近的循環,在古代曆法中,$19$ 便為一個「章」。這個循環,也就是讀者們可能熟知的,每十九年,自己的西曆生日與農曆生日又會在同一天或僅相差一天的由來。

在太初曆 (西元前104年 - 西元4年) 以前的曆法如「古六曆」,其曆法的詳細內容已失傳,只能透過一些文章或記事來推測其內容。目前對於殷商時代或周代時期的置閏法推測是採「年終置閏」的方式,推測的證據在於,甲骨文中有發現許多「十三月」的記載,另外還有兩條「十四月」的記錄。而從西周時代《吳虎鼎》上的銘文也可看到:「隹十有八年,十又三月既生霸丙戌」。


吳虎鼎上的銘文,第一句即是「隹十有八年,十又三月既生霸丙戌」。圖片來源:網路


從太初曆 (西元前104年 - 西元4年) 之後開始使用「無中置閏」的方式來加入閏月。之後還會有其他篇仔細介紹不同曆法「無中置閏」在史書上的記載,雖然原則類似不過史書上提到的數學稍微不同,以後會詳細介紹。這篇先介紹「無中置閏」的基本概念。

農曆的置閏需要透過節氣的幫助!節氣的定義隨著時代的不同而有所更改,這部分也在之後其他的文章會詳述。但只要節氣定義完後,在之前的文章提過,便可根據節氣中的「中氣」定義出各個月

太初曆其詳細內容在史書並無記載,但由西漢末劉歆將其修改而成的三統曆  (西元5年-西元84年) 則在漢書中有詳細記載其曆書,因為三統曆與太初曆在許多原則與數據使用相似,在此引用三統曆的敘述。

根據【漢書.律曆志】:「朔不得中,是謂閏月」。其中的「中」,指的便是「中氣」,意思是說,如果該農曆月沒有「中氣」,則該農曆月為一「閏月」。

以今年的月曆為例,大家可能會有印象今年有「閏四月」

 2020年5月
Sun Mon Tue Wed Thu Fri Sat
1
初九
2
初十
3
十一
4
十二
5
十三
6
十四
7
十五
8
十六
9
十七
10
十八
11
十九
12
廿
13
廿一
14
廿二
15
廿三
16
廿四
17
廿五
18
廿六
19
廿七
20
小滿
21
廿九
22
三十
23
初一
24
初二
25
初三
26
初四
27
初五
28
初六
29
初七
30
初八
31
初九

2020年6月
Sun Mon Tue Wed Thu Fri Sat
1
初十
2
十一
3
十二
4
十三
5
十四
6
十五
7
十六
8
十七
9
十八
10
十九
11
廿
12
廿一
13
廿二
14
廿三
15
廿四
16
廿五
17
廿六
18
廿七
19
廿八
20
廿九
21
夏至
22
初二
23
初三
24
初四
25
初五
26
初六
27
初七
28
初八
29
初九
30
初十

2020年7月
Sun Mon Tue Wed Thu Fri Sat
1
十一
2
十二
3
十三
4
十四
5
十五
6
十六
7
十七
8
十八
9
十九
10
廿
11
廿一
12
廿二
13
廿三
14
廿四
15
廿五
16
廿六
17
廿七
18
廿八
19
廿九
20
三十
21
初一
22
大暑
23
初三
24
初四
25
初五
26
初六
27
初七
28
初八
29
初九
30
初十
31
十一


仔細觀看上面的月曆,綠色的農曆月含有「小滿」這個「中氣」,下一個「中氣」是「夏至」則是在紫色的農曆月中,橘黃色的農曆月不含任何「中氣」,根據「無中置閏」的原則,這個橘黃色的農曆月,便是上一個月的「閏月」了!

綠色的月是農曆四月,因此,橘黃色的月便是農曆「閏四月」!

關於農曆閏月還有其他規定以及推算,這在之後的文章還會有更詳細的解說!


參考文獻:中國數理天文學。2008年。曲安京著。科學出版社。

2020年8月20日 星期四

為什麼現在的農曆正月是農曆正月?

標題看起來像是個莫名其妙的問題,但其實不完全是。

前幾篇討論了許多農曆的基本概念,那些概念是幾乎不曾改變的,所以在文中沒有特別強調年代或是源起。但從這篇開始,許多曆法中的定義有隨著時代而慢慢跟著改變,所以之後的討論都會特別強調什麼年代做了什麼改變。

這其中一個非常重要的主題,便是怎麼定正月。

冬至是農曆中最重要的節氣,農曆是個陰陽合曆,主要是想觀測、推測日月的走向。因為觀察了太陽的規律,而定出了節氣,節氣從冬至開始,以冬至為準,算到下一個冬至,中間間隔的便是一個「回歸年」。

而之前提過,我們可以再複習一下,農曆根據中氣定月,也是從冬至開始,含有冬至的那個月稱為「子月」,依序排下來。


冬至 小寒 大寒 立春 雨水 驚蟄 春分 清明 穀雨 立夏 小滿 芒種 夏至 小暑 大暑 立冬 處暑 白露 秋分 寒露 霜降 立冬 小雪 大雪
中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣
子月 丑月 寅月 卯月 辰月 巳月 午月 未月 申月 酉月 戌月 亥月


那哪個月當成「歲首」也就是農曆「正月」呢?

在夏商周以前的曆法現存已不完全,只能從一些記錄和文字中勉強推知,

史記卷二十六曆書第四】:「夏正以正月,殷正以十二月,周正以十一月。

這是以司馬遷當時的定義所寫的,而當時的定義與現代一致。夏朝時以現在的正月(即寅月)當正月,商朝以現在的十二月(即丑月)當正月,周朝時以現在的十一月(即子月)當正月。

秦朝的時候有點亂,改用亥月當歲首,但稱子月為正月,又為了避秦始皇即秦王「政」的諱而改稱「端月」(司馬貞【史記索隱】:二世二年正月也。秦諱正,故云端月也。) 漢武帝時頒布了太初曆,再定寅月當正月,跟夏制相同一直沿用至今,因此目前的農曆又稱為夏曆便是因為沿用夏制。之中只有王莽與魏明帝改過殷正,武則天與唐肅宗有用過周正,除此之外到目前皆是使用「寅月」當正月。

對照上表,寅月即為含有「雨水」的那個月。我們來看看今年的月曆吧,也一樣是從氣象局網站下載的:


沒錯,正月含有「雨水」這個節氣!


所以回到標題的問題,為什麼現在的農曆正月是農曆正月?因為定好了「冬至」之後決定了「子月」、「丑月」、「寅月」等月,最終再以「寅月」為農曆「正月」。

因為這個定義在漢代前改朝換代時便會更改,而且在春秋戰國時代甚至有自己的曆書不一定會參照周天子,所以當讀到古詩詞或史書記事時,一定要特別注意記錄下來的月份是使用哪個定義下的月份。

有幾個常見的例子:

春秋左氏傳.成公

成公元年
經元年.
春.王正月.公即位.
二月.辛酉.葬我君宣公.無冰
三月.作丘甲.
夏.臧孫許.及晉侯.盟于赤棘.
秋.王師敗績于茅戎.
冬.十月.

春秋跟後來我們比較常見的紀傳體史書不同,是編年體的史書,逐年月記載最重要的事。魯成公上位時,其父魯宣公剛過世,二月時「葬我君宣公」,但這裡還特別記載了該月「無冰」。若以我們現在曆法的觀點來看,農曆二月差不多是現在西曆三月的時候,這時候河水沒結冰可能不是什麼特別事。原因在於這裡用的是周正二月,周建子以子月為正月,所以這裡的二月是丑月也就是現在的農曆十二月,農曆十二月如果河沒結冰就比較特別值得記載了。 

還有許多有名的例子,但其中最混亂的大概是下面這首詩經的詩了,一首詩裡面混著兩種曆法,詩很長,我們看前幾句就行:

詩經.豳風 七月

七月流火,九月授衣。
一之日觱發,二之日栗烈,無衣無褐,何以卒歲!
三之日于耜,四之日舉趾, 同我婦子,饁彼南畝,田畯至喜。

裡面的七月和九月是夏曆,夏曆的定法跟現在一樣,所以也就是現在的農曆七月和九月。一之日、二之日等是周曆一月、二月等,周曆建子以子月當正月,所以詩中的一之日、二之日、三之日、與四之日分別是現在的農曆十一月、十二月、正月和二月。解析這首詩的人眾多,在此就引用顧炎武【日知錄】的句子:「豳詩七月一篇之中凡言月者皆夏正,凡言日者皆周正,一之日觱發,二之日栗烈,三之日于耜。傳曰,一之日周正,二之日殷正月,三之日夏正月。

2020年8月16日 星期日

二十四節氣 (3) :中氣定月 (下)

二十四節氣 (3) :中氣定月 (上) 裡提及了中氣定月的方式,但單純用文字描述可能有點抽象,我們直接來看月曆會比較容易理解。

下面是今年的西曆七月到九月的月曆:為了方便辨識,我把同一個「農曆月」用同種顏色上色,也特別註明了三個「中氣」大暑、處暑、秋分的日子。月曆中沒有標記該月是農曆幾月因為那不是這篇文章的重點。讀者們應該可以看得出來,綠色和黃色的農曆月在這份月曆中是完整的「月」,分別包含了「大暑」以及「處暑」這兩個「中氣」,再對照之前提及的月序,所以綠色的農曆月便稱為「未月」,而黃月的農曆月便稱為「申月」。含有秋分的那個農曆月因為這份月曆只列到西曆9月所以不是完整的,但這個農曆月也只含有「秋分」這個「中氣」,對照之後我們知道這個紫色的農曆月稱為「酉月」。

相信用月曆的方式來描述能更清楚「中氣定月」的方法!

 2020年七月
Sun Mon Tue Wed Thu Fri Sat
1
十一
2
十二
3
十三
4
十四
5
十五
6
十六
7
十七
8
十八
9
十九
10
廿
11
廿一
12
廿二
13
廿三
14
廿四
15
廿五
16
廿六
17
廿七
18
廿八
19
廿九
20
三十
21
初一
22
大暑
23
初三
24
初四
25
初五
26
初六
27
初七
28
初八
29
初九
30
初十
31
十一

2020年8月
Sun Mon Tue Wed Thu Fri Sat
1
十二
2
十三
3
十四
4
十五
5
十六
6
十七
7
十八
8
十九
9
廿
10
廿一
11
廿二
12
廿三
13
廿四
14
廿五
15
廿六
16
廿七
17
廿八
18
廿九
19
初一
20
初二
21
初三
22
處暑
23
初五
24
初六
25
初七
26
初八
27
初九
28
初十
29
十一
30
十二
31
十三

2020年9月
Sun Mon Tue Wed Thu Fri Sat
1
十四
2
十五
3
十六
4
十七
5
十八
6
十九
7
廿
8
廿一
9
廿二
10
廿三
11
廿四
12
廿五
13
廿六
14
廿七
15
廿八
16
廿九
17
初一
18
初二
19
初三
20
初四
21
初五
22
秋分
23
初七
24
初八
25
初九
26
初十
27
十一
28
十二
29
十三
30
十四

2020年8月12日 星期三

二十四節氣 (2) :中氣定月 (上)

上一篇二十四節氣 (1) :季節與方位提到了節氣與天文的關係,可是裡面的定義是很不精確的。斗柄的指向是個定性的大方向,而若照著淮南子裡描述的從冬至開始每加十五日為下一個節氣,根據簡單的算術與內文的描述相比,15+15+15 怎樣也不會是 46,所以顯然當時的曆法不可能單純照文中使用的方式。

古代定義節氣的演變在其他的文章中會更仔細地討論,在此我們先談談節氣是怎麼幫助建構農曆。

節氣中最容易定義的是冬至,在冬至正午時分的竿影長度是一年之中正午時分的竿影中最長的。因此定義好冬至之後,再找出下一個冬至便可定義出一個「回歸年」,在一回歸年內,即可依序定義出24個節氣如下:
 
冬至 小寒 大寒 立春 雨水 驚蟄 春分 清明 穀雨 立夏 小滿 芒種 夏至 小暑 大暑 立秋 處暑 白露 秋分 寒露 霜降 立冬 小雪 大雪
中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣 中氣 節氣
子月 丑月 寅月 卯月 辰月 巳月 午月 未月 申月 酉月 戌月 亥月


從冬至開始的節氣,每隔一個節氣的特稱為「中氣」,即冬至、大寒、雨水、春分、穀雨、小滿、夏至、大暑、處暑、秋分、霜降、小雪為「中氣」。

上一篇中已有提到,節氣或季節更迭可與十二地支連結。依此連結,在農曆中便將含有冬至的那個農曆月,稱為「子月」,含有大寒的那個月稱為「丑月」,以此類推,即透過「中氣」來定義該月是何月,從「子月」,一直到「亥月」。

這裡提到的「子月」、「丑月」等跟我們所熟知的「農曆正月」、「農曆二月」等是獨立的,定義十二地支月中的哪個月是「正月」之後會再深入討論。

這裡描述的「含冬至的農曆月稱為子月」,可能有點抽象,下一篇會用圖示的方式來說明更易理解。


2020年8月7日 星期五

二十四節氣 (1) :季節與方位


節氣是農曆中的重要成份,就算不熟悉農曆的人,也會知道有二十四個節氣,或常聽到節氣如冬至、夏至、春分、秋分、立春、清明等。但事實上,節氣不僅僅是農曆中的一部分,更是建構農曆非常重要的元素,沒有節氣的存在便無法架構起農曆。

接下來會有一連串的文章討論節氣:從節氣最早可能的由來,到農曆如何利用節氣定義農曆月,節氣定義的慢慢修正,以及如何推測節氣的日子。

提到節氣的由來,真實的來源可能已不可考,史料上最早的記載是來自成書於西漢初年的【淮南子.天文訓】:

斗指子則冬至,音比黃鐘;加十五日指癸則小寒,音比應鐘;加十五日指丑則大寒,音比無射;加十五日指報德之維,則越陰在地,故曰距日冬至四十六日而立春,陽氣凍解,音比南呂;加十五日指寅則雨水,音比夷則;加十五日指甲則雷驚蟄,音比林鐘;加十五日指卯中繩,故曰春分則雷行,音比蕤賓;加十五日指乙則清明風至,音比仲呂;加十五日指辰則穀雨,音比姑洗;加十五日指常羊之維則春分盡,故曰有四十六日而立夏,大風濟,音比夾鐘;加十五日指巳則小滿,音比太蔟;加十五日指丙則芒種,音比大呂;加十五日指午則陽氣極,故曰有四十六日而夏至,音比黃鐘;加十五日指丁則小暑,音比大呂;加十五日指未則大暑,音比太蔟;加十五日指背陽之維則夏分盡,故曰有四十六日而立秋,涼風至,音比夾鐘;加十五日指申則處暑,音比姑洗;加十五日指庚則白露降,音比仲呂;加十五日指酉中繩,故曰秋分雷戒,蟄蟲北鄉,音比蕤賓;加十五日指辛則寒露,音比林鐘;加十五日指戌則霜降,音比夷則;加十五日指蹄通之維則秋分盡,故曰有四十六日而立冬,草木畢死,音比南呂;加十五日指亥則小雪,音比無射;加十五日指壬則大雪,音比應鐘;加十五日指子。
文中的「加十五日」其實非常不精確,也因此在現存有史料的曆法裡不使用「加十五日」來類推之後的節氣,這在其他的文章中會說明。

文中的「斗」指的是北斗七星,而北斗七星的斗柄指向,稱為「斗建」。【漢書律曆志】也提到:「日至其初為節,至其中斗建下為十二辰。視其建而知其次。」

先讓我們看看北斗七星是怎麼指向的。以下影片是用星象軟體 Starry Night Pro 8.0 模擬西漢時期長安的星象,年份起始點設的是太史公司馬遷的出生年西元前145年,時間設在每晚9點左右。如果時間固定在此時,每日固定觀測北方的星象,我們可以看到北斗七星的指向會隨季節而改變,影片上方可以看到日期。






這是面對北方時抬頭看到的星象,所以畫面的正下方是「北方」,右手邊是「東方」,左手邊是「西方」,畫面正上方是往天頂的方向之後便會往頭頂正後方繼續,因此正上方指向的是「南方」。當日期到了三月時,可以看到斗柄指向右邊(東方),六月時指向上方(南方),九月時指向左邊(西方),而到了十二月冬天時指向下方(北方)。如此周而復始、年復一年。


那文中的「斗指子則冬至」是怎麼回事?

從何時開始用十二地支來表示方位已不可考,翻閱史料都沒有很明確的記載,很可能已經約定俗成了。在此只講結論:以北方定為「子」,往東方下去依十二地支排序,東方為「卯」,南方為「午」,西方為「酉」,如下圖:



拫據北斗七星斗柄的指向即所謂的「斗建」,隨著季節,冬至「建子」,春分「建卯」,夏至「建午」,秋分「建酉」,十二地支因此默默地與「年」或「季節」聯繫上了關係。

以上所述可能不一定是地支與季節最初的連結方式,可能只是連結方式之一。至於這季節更迭或節氣改變如何幫助建構農曆,會繼續再之後的文章繼續說明。