干支用來紀年是後起的事。六十甲子在商代甲骨上已經成套出現,但那整套在當時記的是「日」,不是「年」;先秦到漢初要指某一年,用的是另一套名字——《爾雅·釋天》的十個歲陽配十二個歲陰,還有《史記》講曆律時寫的十母配十二子,寫出來像「閼逢困敦」「焉逢攝提格」。甲子、乙丑直接掛在年份前面,要等漢代文獻才普遍起來。所以「今年歲次甲辰」這句話其實有兩個祖先:一條是商代就拿來記日的六十甲子,一條是記年的歲陽歲陰,兩條線到漢代才接上。

我把影印的《爾雅注疏》跟點校本《史記》攤在同一張桌上,中間壓著一本從廟裡拿回來的農民曆,才真的看見這件事。農民曆封面上印著「歲次」兩個字,底下一個甲子式的年名;左邊那本翻到〈釋天〉,右邊那本翻到〈曆書〉。兩本書中間隔的距離,大概就是這條線要走的路。
《爾雅·釋天》那一頁,寫的不是天干
〈釋天〉先把十個名字排出來:
> 太歲在甲曰閼逢,在乙曰旃蒙,在丙曰柔兆,在丁曰強圉,在戊曰著雍,在己曰屠維,在庚曰上章,在辛曰重光,在壬曰玄黓,在癸曰昭陽。
閼逢、旃蒙、柔兆、強圉、著雍、屠維、上章、重光、玄黓、昭陽。你把這十個字跟甲到癸一一對上,它就變成天干的另一種唸法——同一張表,只是填的字不同。這組叫歲陽。
底下才是十二個:
> 太歲在寅曰攝提格,在卯曰單閼,在辰曰執徐,在巳曰大荒落,在午曰敦牂,在未曰協洽,在申曰涒灘,在酉曰作噩,在戌曰閹茂,在亥曰大淵獻,在子曰困敦,在丑曰赤奮若。
這裡有一件事,第一次看很容易滑過去:它從「寅」開始寫,不是從「子」。攝提格排第一個,困敦(子)倒數第二,赤奮若(丑)墊底。這不是抄漏,也不是倒裝。這一組十二個名字在《爾雅》裡是跟著太歲的走位排的,不是照地支子丑寅卯的自然次序排;傳統上也把「攝提格」當成這套十二名循環的第一年。所以它從寅起頭,這是排列的邏輯,不是文本的錯。
《史記》把它叫「十母十二子」
《史記·曆書》那一系講曆律的文字,把天干寫作「十母」,地支寫作「十二子」。母在前、子在後,干配支,一配就是六十年。這裡的母子是排序上的說法,不是後來命理裡那套陰陽生剋,兩件事不要混在一起讀。
它列出來的年名,寫成「焉逢攝提格」這樣的形式。焉逢就是閼逢,甲;攝提格就是寅。翻成今天的寫法就是甲寅。也就是說,同一個年份在先秦到漢初有兩種登錄方式:一種是《爾雅》體系的歲陽歲陰,一種是《史記》體系的十母十二子,骨子裡是同一套六十年循環。
真正早的那一端,在甲骨上。
商代甲骨裡有一種骨片,整版乾乾淨淨刻著六十個干支,從甲子一路排到癸亥,不缺不斷。那不是年表,是日表。卜一件事之前得先寫下今天是哪一天,於是這樣一張表就放在旁邊對;六十天走一圈,走完再接一圈。干支最早被大量使用的地方,是日子。
年那時候不這樣記。看西周金文,開頭常是「唯王十又三年正月初吉丁亥」這種形式——「十又三年」是在位第幾年,「丁亥」是那一天。年用王年數,日用干支,兩套各記各的。有的時候年還會跟著歲星走,看木星落在哪一個星次,木星大約十二年繞一圈,這條線後來長成歲星紀年,再變成太歲,再變成《爾雅》那十二個歲陰。
甲子爬到「年」上面,是漢代的事
到《漢書》,甲子乙丑直接當年份用的例子一下子多起來。一般也把「干支紀年成為官方通用」放在東漢,跟章帝元和二年(85年)頒行四分曆那一段連著講。這一條我得老實說:我沒找到一句一刀切的原始命令,可以指著說「就是這一年開始的」,看過的說法至少有三四種。「漢代以後普遍」是比較穩的講法。
干支之所以能取代歲星紀年,有一個很實際的理由。木星繞一圈不是整整十二年,是十一年多一點,累積久了就跟十二次對不上,古人用「超辰」的辦法去補——按天象算大約八十幾年會多跑過一個星次,而漢代某一派取的是 144 年超一辰,數字跟天象並不吻合。補到最後,索性放掉天象,讓六十甲子自己走自己的。這一步走了之後,干支紀年才真的變成一套不必抬頭看星的記年法。
《資治通鑑》開頭那一句,今天還留著
歲陽歲陰沒有消失。翻《資治通鑑》卷一,開頭寫的是:
> 起著雍攝提格,盡玄黓困敦,凡三十五年。
著雍是戊,攝提格是寅,玄黓是壬,困敦是子。換成六十甲子就是戊寅到壬子,西元前 403 年到前 369 年,剛好三十五年。司馬光沒有寫「起戊寅盡壬子」,他寫歲陽歲陰。你如果只認甲子,這一句當場讀不動。
這也是我建議自己動手對一遍的原因。方法很笨,但有效:把《爾雅·釋天》那兩段抄在紙上,十個歲陽、十二個歲陰,各自對到干跟支,做成一張小對照表;然後拿《史記·曆書》的年名去換算,再拿《資治通鑑》卷首那句驗算。三個地方對得上,這套名字就不會再只是書上的一串怪字。
差異不在信不信,在讀法。農民曆上那個歲次甲辰,是漢代以後那條線的產物;而歲陽歲陰那一套,是漢代以前的人真正拿來講年份的講法。兩者在《爾雅》跟《史記》裡是同一張六十格表的兩種寫法,不是兩套互相競爭的系統。至於太歲後來在民間變成神、變成安太歲的對象,那是這條線再往後長出來的另一段,跟〈釋天〉那一頁的字面無關,我不在這裡展開。
我現在翻舊書看到「閼逢困敦」「焉逢攝提格」這類字,反應已經不是「這是什麼罕見異名」,而是先在紙角寫下甲子、乙丑,把十個歲陽十二個歲陰對回去。對完了再讀。這一步只需要一張便條紙,可是它決定你是把那段文字當成天書,還是當成一張可以查的年表。