「天幹地支」這二十二個字其實是早就創造出來了,在甲骨文當中已經有所辨識,也是用以表達序列,比如一些帝王的名諱便是如此,像商朝就有盤庚、帝乙、帝辛等等名號。
需要知道的是,用幹支來紀月、紀日是很早就有的傳統,無法確定起於何時,但用於紀年的做法卻要晚得多,起碼在西漢還沒有形成完整的規制。
根據現有典籍的紀年稱謂變化可以肯定,幹支紀年以國家政令來推行的時期是東漢元和二年,而其實際上的普遍應用應該還要更早一些,但最早不能早於西漢。
西漢時期,幹支紀年和「星歲紀年」是混雜的
一種新規則的誕生往往不是一蹴而就的,必然有一個過渡的階段。
所以,如果要探究幹支紀法的源頭,那麼只需要找到原有紀年方式和幹支紀年方式混用的一個時期就可以了,而這個時期就是西漢。
在「幹支紀年」之前,我國古代除了用君主諡號的方式紀年之外,最通用的紀年方式就是「星歲紀年」,分為「歲星紀年」和「太歲紀年」兩個階段。
「歲星」紀年,顧名思義,就是以「歲星」為參照物的紀年方式。
「歲星」也就是木星,古人早就觀測到,以地球為不動點來算,木星繞地一周的時間為十二年。同樣的道理,古人認為,太陽是圍繞地球旋轉的,在地球上的投影就被稱為黃道平面。
西方有「黃道十二宮」,分為十二個星座,中國也同樣如此,將黃道平面進行了十二等分,叫做「十二次」或「十二星次」,並且為之取了一些專有名稱。由西向東依次為:
星紀、玄枵(xiāo)、諏訾(zōu'zī)、降婁、大梁、實沈(chén)、鶉首(chūn'shǒu)、鶉火、鶉尾、壽星、大火、析木(xī'mù)
如果木星運行到某一個區位之間,這一年就紀為「歲在XX」。比如木星運行在「星紀」這一區域,就紀為「歲在星紀」。
這樣的描述在古籍中非常常見,比如:
《國語》:昔武王伐殷,歲在鶉火。
不僅如此,因為同樣都是「十二」這一數字,古人就將十二星次名稱和十二地支一一對應起來:
通過這個表格能看出來,木星由西向東運動,和十二地支的次序正好相反,這樣就很不方便,於是人們就假想了一個和木星運動方向相反的虛擬天體,被稱為「太歲」。
於是,「星歲紀年」就從「歲星紀年」階段發展到了「太歲紀年」。
十二太歲年和十二星次一樣,都有自己專有的名稱:
攝提格、單閼(chán'yuān)、執徐、大荒落、敦牂(dù'zāng)、協洽、涒灘(tūn'tān)、作噩、閹茂(yǎn'mào)、大淵獻、困敦、赤奮若
這些名稱很拗口,但也能在典籍當中見到。
比如屈原《離騷》當中:
攝提貞於孟陬兮,惟庚寅吾以降
「攝提」就是指「攝提格」,是太歲紀年的表達方式。
同樣,十二太歲年和十二地支也一一對應起來:
這樣一來,紀年就方便多了,歲星運行到「星紀」這一區域,那麼相應的太歲就對應著「析木」,析木對應的十二地支為「寅」,所以被紀為「太歲在寅」,也就是「攝提格」這一年。
而這一紀年方式還是不完善,所以在西漢時期還在發展,就出現了與天幹對應的「十歲陽」之說,並且和「十天幹」一一對應:
於是,我們在古籍當中就看到了用十歲陽和十二太歲年連在一起紀年的表達方式,並且在後來幹支為主的紀年中,有些史家依然會用這樣的表達。
比如司馬光的《資治通鑑》:
起閼逢執徐,盡著雍涒灘,凡五年。
那麼,既然「十歲陽」和「十二太歲年」可以連在一起,那麼直接將其所對應的「天幹」和「地支」對應起來不就更方便了嗎?
所以,司馬光的那一條記載,翻譯過來其實就是甲辰到戊申一共五年時間。
那麼,既然「十歲陽」的誕生是在西漢時期,那麼天幹與十歲陽的對應關係自然就是在這一時期了。
於是自然可以推斷,將天幹地支連起來用於紀年的方法最早也不能早於西漢。
這在西漢流傳下來的一些典籍當中也能得到印證,這一階段當中的史書裡,有很多都是幹支紀年和「星歲紀年」混用的。
值得注意的是後世當中以幹支紀年來敘述西漢歷史的典籍,其用法是根據十歲陽和十二太歲年與天幹地支的對應關係推斷而出的。
又因為天體運行的時間是一個約數,和人為劃分的時間有所出入,那就導致了十歲陽和十二太歲年和後來的幹支紀年在起止時間上並不是完美對應的。
所以對於西漢年代用幹支紀年表示的時候,往往會出現些微的差異。
天幹地支在紀月與紀日中的應用
古人也將一年分為「十二個月」,在先秦古籍中曾經出現的「十三月」或者「十四月」都是閏月,最初只是直接加在年尾,但並不常見。
而「十二」這個數字,正好是月份和地支相對應的,所以只用一個地支就能充分表達,這也就是古代的「月建」制度。
在用地支來表示月份之前,古人也曾經給十二月取不同的名稱,比如春夏秋冬四季和孟仲季三個排行聯繫起來,就出現了孟春、仲春等等稱呼,正好是十二個。
《楚辭·哀郢》當中:
民離散而相失兮,方仲春而東遷。
「仲春」其實就是指夏曆當中的「二月」。
除此之外,古人還曾經給每一個月起一個不同的名稱,在《爾雅》當中有記載:
就像我們提到過的《離騷》示例:
攝提貞於孟陬兮,惟庚寅吾以降。
「攝提」是指「攝提格」,而「孟陬」就是指正月而言的。
基於此理,人們將十二月和十二地支相對應,用地支的名稱來表示月份。
在古代傳統當中,「冬至」這一節日是非常重要的,至今南方依然有「冬至大如年」的風俗,所以就將冬至所在的那一個月作為一年的開始,用「子」來代稱。
冬至一般在一年中的第十一月,所以就被紀為「建子之月」。以此類推,正月其實就是「建寅之月」。
屈原《離騷》中的那句話,其實就是在說其出生的時間為寅年、寅月、寅日。
十二個月份往往只用「十二地支」來表示,因為正好可以循環使用,不存在缺少或冗餘的現象,而一日之內的十二時辰也是同樣的道理,也只用一個地支名稱來表示。
至於說用幹支來計算月份和時辰的說法,其實只是用於生辰八字的推算,並沒有流行開來。
而已「幹支」紀日是比較常見的手法,和幹支紀年的方法是一樣的,十天幹和十二地支兩兩結合,形成六十對組合,以「甲子」開始,以「癸亥」為終結,循環往復,所以說「六十年一甲子」。
值得注意的是,十天幹和十二地支兩兩組合,一共是一百二十組,那為什麼會只用「六十」這一數字呢?
那是因為,配對的方式只能為奇數與奇數組合,偶數與偶數組合。
比如說,有「甲子」,但不會有「甲醜」;有「乙丑」,但不會有「乙寅」。以此類推,正好六十個組合。
以「幹支」紀日的方式在春秋時期就已經盛行了。
比如《左傳》當中:
五月辛丑,太叔出奔共。
至於說「辛丑「換算成公元紀年紀日的方式到底是哪一天,這個只能依靠後人推斷出的春秋長曆了,是魯隱公元年的五月二十三日,為公元前722年5月23日。
總結一下:
幹支紀法裡,紀月和紀時都只是用了幹支中的十二地支,並沒有流行出幹支共用的形式。
紀日的起源非常早,不能確定具體時代,幹支紀年方式的應用是不會早於西漢的,大規模推行是在東漢時期。
人們為何稱李白為詩仙,杜甫為詩聖,「仙」與「聖」有何分別?