今天在PTT(台大批踢踢實業坊)八卦板看到有人說今天(2010.4.16)、農曆庚寅年三月初三是唐伯虎生日,姑且不論是不是唐伯虎點秋香說的庚寅年寅月寅日寅時出生,這引發我研究天干地支跟農曆的關係。

 首先複習一下天干地支,天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸共10干,地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥共12支。不論天干或地支都是一陽一陰交錯,甲-陽、乙-陰...,子-陽、丑-陰...。天干地支搭配時必定陽配陽、陰配陰,從甲子、乙丑...到癸亥結束共60個組合一循環稱為一甲子。


表一:一甲子干支循環

干支紀時

 先討論最簡單也最不會誤會的的時辰,就是單純把現代人認知的24小時重新分割成12個時辰。GMT+8是台灣以及中國的時區,也就是我們目前使用的時間,干支紀時以此時區為標準。


表二:干支紀時

 時辰是用地支計算,但前面說了必須搭配天干一起使用,因此必須參照當日的天干而定(干支紀日參照以下干支紀日),事實上就是以天干甲日子時開始輪起,一天有12時辰,每5天將循環一次、每60天的甲子日子時必定是甲子時(每60天會有12輪一甲子時)。

干支紀日

 日的部分天干地支非常簡單,沒有任何限制,就是單純跑一甲子60天,與當時的年及月的天干地支沒有關係,從甲子日開始每60天輪完繼續從甲子日計算起,根據維基百科說法,最早可推斷是春秋時代開始使用干支紀日。

 這造成一個麻煩點,因為現在大家習慣阿拉伯數字式且含有月份的紀日方式,要換算成天干地支的紀日不翻農曆或是網路查詢很難知道確切日期。

干支紀年

 干支紀年是在干支紀月的正(寅)月初一的子時換年,不是數字系統農曆正月初一子時換年(干支紀月的部分比較困難解釋最後再解釋),從甲子年開始輪起,六十年一輪,例如今年是庚寅年,60年後又將是庚寅年。比較會混淆的是十二生肖,生肖是跟地支紀年(子鼠、丑虎...)同步,也就是每年的寅月一日(立春)換年時換生肖,不是陽曆(元旦)或農曆換年(春節,大年初一)當天換生肖,每年干支紀年大約會比數字系統農曆早或晚10日之內換年,但為了方便起見部分農曆會照數字系統農曆的換年(大年初一當天)而換年,但這是錯誤的。

干支紀月

 解釋月之前必須先釐清一個觀念,農曆並非真正的陰曆,相對陽曆是按照太陽運行而計算的曆法(365天為一年),陰曆是指按照月亮運行而計算的曆法(一朔望月29-30日,12朔望月為一年,大約355天),一年四季是按照陽曆而來,並非是陰曆,可是所謂農曆是因為農需而名,農業是按照太陽四季而作,那怎麼會是陰曆呢?事實上我們的農曆是陰陽曆,農曆同時含有陽曆及陰曆的特質,數字系統的農曆紀月法的確是按月亮運行而成,農曆每月15日必定月圓即可說明。

 那按照太陽的計算在哪?其實是藏在天干地支的紀月裡,那天干地支如何紀月?基本上是以12地支紀月,現代人西化很深,依陽曆計算的西洋星座幾乎無人不曉我以此說明,西洋星座稱呼為黃道12宮,黃道的意思是太陽運行的軌道(事實上是地球繞太陽公轉一周),而星座怎麼算出來的?就是當太陽繞天體的黃道走到某個區段即代表這個星座,這個道理就是12地支紀月的方式,每當太陽走到某個區段就是該月,而地支紀月其實比較接近陽曆,只是一歸年(太陽運行一周)的起始點及12個月等分不同,就像各星座不是在每個月第一天開始一樣。

 那紀月的起始點及月份算法是怎麼算出來的?聰明的老祖宗想法是從太陽運行造成的立竿見影及一天白晝黑夜長度得來,一年中有一天是太陽日照最長的,那天是夏至;另外有一天日照最短,那天就是冬至;有兩天白晝與黑夜一樣長,分別是春分及秋分(分之意可想做平分),春分、夏至、秋分和冬至把太陽運行一周等分成四,這個名詞叫節氣,也是農家們賴以維生的曆法。

 節氣總共有24個,把太陽繞行一周360度的黃道等分,相連節氣之間差15度,每兩個為一組構成前為節(12節氣)後為氣(12中氣),而必須注意的節氣是太陽運行到某個"點",而非"區段",只是把運行到那點的當天令為節氣名,漢代以來把立春當天訂為正月一日(不是數字系統農曆的正月)、第一個月以寅月做代表,以下按照地支排序續推。


表三:干支紀月,節氣後括號內的日期是陽曆。

 括號後面是陽曆的日期,代表每個節氣每年大約會落在的時間點,前面說過是按太陽運行所以跟陽曆日期比較吻合,由於圓一周360度,但一年有365又1/4天,因此每年節氣點都會有落差,古代是靠國子監觀測,現代則是靠中央氣象局用科學儀器量測,氣象局網站可以查到每個節氣點的正確時間。

 另外前面說過要天干地支共用,因此60個月為一輪,只是這裡的天干用處不大,完全按照地支運行,每個季節有六個節氣,由立而起至下一立而止,也許有人眼尖會發現,後面的中氣點跟12星座的分界點幾乎是一樣,其實12星座也是一樣算法,因此在星座間的朋友其實是要更精確的時間才能量測星座,像我出生那年的生日剛好就是當年的小雪。

置閏

 曆法上常用的置閏有閏日(陽曆每四年加一天2月29日)和閏月的兩種做法(其實也有閏周,但不廣泛),數字系統的農曆利用加差法(不夠時加一個月),每19年會增加7個閏月,有閏月或閏日的那年稱為閏年,其餘則是平年。在干支紀年月日時的系統中,是沒有置閏的,前面講解干支紀月時,有一個重點,每年節氣都是利用觀察太陽運行而訂出節氣的時間點,並以立春當天令為正月初一,每個節氣每年都要修正,實際上是每年都在閏,甚至可以說每個節氣都在閏,干支紀年月不是日復一日的計算,而是需要靠天文觀察得來。

總結

 總結,我沒有提到歷史,但還是必須說一下,年、月、日和時開始採行天干地支的時間點都不太一樣,估計最早是夏朝甲骨文紀日,而改朝換代常常都會修訂曆法並重訂開元日,因此農曆包含的曆法是有其複雜度的,可以把干支紀年月當一件事,但跟干支紀日時沒有相對關係。每本出版的農曆因為跨過年或月的月份和日的以及閏月的干支多少都會有點出入,但真正規則應該是照我上面這些整理出來的資料,為了避免越講越多,所以我沒有再討論干支的來源(跟木星有關)以及更多天文資訊,僅僅只把規則講解清楚,有興趣的也可以看看維基百科關於農曆干支節氣置閏這些相關條目。

萬年曆 台灣的月曆 - 錯誤發生在閏月會把干支月多算一次。

中國黃曆 - 錯誤發生在把農曆春節當做干支換年日。

創作者介紹

[射手白馬] 科奴苦勞記

射手白馬 發表在 痞客邦 PIXNET 留言(3) 人氣()


留言列表 (3)

發表留言
  • Jesse1029
  • 真是太棒了~太崇拜了ㄎㄎ
  • 仲哥太假了~~~

    射手白馬 於 2010/04/19 17:29 回覆

  • Jesse1029
  • 好心被雷親~~好可憐阿
  • 能讓仲哥崇拜的只有豪哥~~~~

    射手白馬 於 2010/04/20 13:03 回覆

  • Jesse1029
  • 我是說真的耶~起碼對於你整理資料的能力給予高度肯定阿~呵呵
  • 哈哈,真希望這句話老闆有看到XD

    射手白馬 於 2010/04/20 13:34 回覆