雷 寶,詹石窗
(廈門大學(xué)人文學(xué)院,福建廈門361004)
太歲系統(tǒng)差異形成考
雷 寶,詹石窗
(廈門大學(xué)人文學(xué)院,福建廈門361004)
與歲星紀(jì)年相關(guān)的系列問題是歷史年代學(xué)中關(guān)注爭論的焦點(diǎn),傳統(tǒng)“歲星超辰”說或“太歲超辰”說的局限性日益顯現(xiàn)。本文以《淮南子》、《史記》、《漢書》等古籍及馬王堆漢墓帛書《五星占》記載為中心線索,綜合各家學(xué)者的研究成果,并在此基礎(chǔ)上對太歲系統(tǒng)差異形成原因及其對紀(jì)年方式演變的影響做出新的合理解釋,進(jìn)而對漢太初改歷干支紀(jì)年之爭予以重新解讀。
歲星紀(jì)年;太歲;超辰;帛書《五星占》
一
我國古代早已有依王公即位而紀(jì)年及依事紀(jì)年兩法,春秋戰(zhàn)國期間,歷法興起,并逐漸演變而成干支紀(jì)年。一般認(rèn)為,紀(jì)年方式的演變過程經(jīng)歷了歲星紀(jì)年、太歲紀(jì)年和干支紀(jì)年三個(gè)階段。
關(guān)于歲星紀(jì)年,清代學(xué)者多有論述,近代學(xué)者的論著主要有劉坦的《中國古代之歲星紀(jì)年》(科學(xué)出版社1957年)等。近年隨著馬王堆漢墓出土文物的挖掘整理,人們對紀(jì)年方式的演變問題進(jìn)行了進(jìn)一步的深入研究。陳久金先生在《從馬王堆帛書〈五星占〉的出土試探我國古代的歲星紀(jì)年問題》一文中認(rèn)為,太初歷紀(jì)年法與秦始皇元年制定的顓頊歷紀(jì)年法采用相同的太歲系統(tǒng),“即保持太歲在寅,歲星在亥的關(guān)系,只是太初改歷時(shí),將太歲作了超辰一次處理。太歲超辰,則歲星當(dāng)然要與之俱超”①。而戰(zhàn)國歲星紀(jì)年法所使用太歲系統(tǒng)與顓頊歷紀(jì)年法所采用的太歲系統(tǒng)差異原因在于后者“使太陰、歲星俱超一辰,歲星又單超二辰”②。
席澤宗先生根據(jù)馬王堆漢墓帛書《五星占》開頭中關(guān)于木星占的記述,整理出歲星紀(jì)年表③。莫紹揆的《從〈五星占〉看我國的干支紀(jì)年的演變》④也對紀(jì)年方式的演變做了深入研究。
與歲星紀(jì)年相關(guān)的系列問題一直是歷史年代學(xué)中關(guān)注爭論的焦點(diǎn)之一,盡管學(xué)者們進(jìn)行了多方面的研究,但是觀點(diǎn)割裂龐雜缺少融合貫通,尤其是囿于傳統(tǒng)“歲星超辰”或“太歲超辰”說的束縛,難以對太歲系統(tǒng)差異形成原因及與紀(jì)年方式演變的關(guān)系做出令人信服的解釋,一些疑難問題仍有待進(jìn)一步澄清。
二
“太歲紀(jì)年法”是一種與木星十二年運(yùn)行周期密切相關(guān)的紀(jì)年方法,它把周天劃分為十二辰,用子、丑、寅、卯等十二支作名稱,同時(shí)又給它們分別起了十二個(gè)年名,《爾雅·釋天》稱:“太歲在寅曰攝提格,在卯曰單閼,在辰曰執(zhí)徐,在巳曰大荒落,在午曰敦牂,在未曰協(xié)洽,在申曰涒灘,在酉曰作噩,在戌曰閹茂,在亥曰大淵獻(xiàn),在子曰困敦,在丑曰赤奮若?!敝皇鞘降倪\(yùn)轉(zhuǎn)方向是自東向西,和木星運(yùn)行的十二次方向剛好相反。于是人們假定有一個(gè)抽象的神秘之物,稱作“太歲”、“歲陰”等,它的運(yùn)行方向恰與歲星相反,并且準(zhǔn)確的按照十二年一周天,由此可以避免由丑到子的逆行。
從歷法產(chǎn)生的必要條件上看,太歲紀(jì)年的出現(xiàn),顯然與歷法的初創(chuàng)建立有關(guān)。歷法的制訂需要確定歷元,歷元通常選取平朔、冬至同在夜半的一天,如果歷元這一天恰逢甲子日,則更為理想。此外也有以“甲寅年正月甲寅朔旦立春”為歷元的,如一直沿用到漢初的秦歷。月、日、時(shí)之干支另由十二辰確定,而子年或寅年的確定則與太歲紀(jì)年的命名直接相關(guān)。從紀(jì)年方式演變的邏輯順序上看,歲星紀(jì)年出現(xiàn)不久甚至于可能同時(shí),方出現(xiàn)太歲紀(jì)年。
太歲一旦被人們賦予了星占學(xué)方面的意義,就由原來假想的神秘物成為觀念中的一種獨(dú)立存在?!痘茨献印ぬ煳挠?xùn)》記載,太歲運(yùn)行至寅,此年就名“攝提格”,其星占學(xué)含義是“攝提格之歲,歲早水,晚旱,稻疾,蠶不登,菽麥昌,民食四升”。其他各年名也都有相似的占辭。顯然創(chuàng)立“太歲”概念的宗旨是星占,之所以稱作“太歲紀(jì)年法”,是因?yàn)樗忻鞔_的年名,在客觀上具有紀(jì)年作用,并在戰(zhàn)國中期以后的秦、楚地區(qū)及西漢時(shí)期得以實(shí)際應(yīng)用。太歲紀(jì)年法對于考證某些歷史年代懸案有重要意義。
有關(guān)太歲與歲星之間關(guān)系的文獻(xiàn)記錄,見于《淮南子》、《史記》及《漢書》等古籍,人們從近年發(fā)掘出土的馬王堆漢墓帛書《五星占》中也發(fā)現(xiàn)了相關(guān)的記載。對比《淮南子·天文訓(xùn)》、《史記·天官書》、《漢書·天文志》相關(guān)記載可知,《史記》所謂歲陰,即為《淮南子》所稱之太陰,《漢書》與《爾雅》等稱之為太歲。而在《淮南子》一書中“太陰”與“太歲”的含義并不相同,如《淮南子·天文訓(xùn)》中有“寅為建”,則“子為開,主太歲。丑為閉,主太陰”。很明顯,這里“太歲”與“太陰”具有不同的含義。
《史記·天官書》與《淮南子·天文訓(xùn)》確定歲陰或曰太陰位置的天文依據(jù)基本相同,皆以歲星逐月在十二次方位的移易更替而定;所不同者,《淮南子·天文訓(xùn)》以十一月歲星舍斗牽牛,晨出東方,而《史記·天官書》以為正月,由此可以推定《淮南子》已經(jīng)以寅月為正,而《史記》所載仍然以子月為正。
然而《漢書》中太歲的確定規(guī)則與《史記》、《淮南子》卻迥然有別。如《漢書·律歷志第一下》有這樣兩條記錄:“距上元年十四萬三千二十五歲,歲在大棣之東井二十二度,鶉首之六度也。故《漢志》曰:歲在大棣,名曰敦牂,太歲在午。”“漢歷太初元年,距上元十四萬三千一百二十七歲。前十一月甲子朔旦冬至,歲在星紀(jì)婺女六度,故《漢志》曰:歲名困敦,正月歲星出婺女。”按《史記》、《淮南子》所載方法,“歲在大棣之東井二十二度,鶉首之六度”,則歲陰或太陰在申,歲名涒灘;“歲在星紀(jì)婺女六度”,則歲陰或太陰在寅,歲名攝提格。
《漢書》解釋曰:“《甘氏》、《太初歷》所以不同者,以星贏縮在前,各錄后所見也。”《漢書》將這種現(xiàn)象歸因于歲星贏縮與記錄先后造成的差異,顯然是不正確的,因?yàn)樘珰q的確定規(guī)則是根據(jù)與歲星相對位置而人為約定的命名體系,歲星運(yùn)行的所謂“贏縮”現(xiàn)象并不能使太歲的命名規(guī)則發(fā)生改變?!短鯕v》所載太歲與歲星的相對位置,應(yīng)為原有太歲規(guī)則下歲星超辰兩次而形成的實(shí)際天象的記錄。而太歲“在子曰困敦”、歲星“在建星、牽牛”恰好滿足歷法設(shè)計(jì)中對歷元的星象要求,因此在此基礎(chǔ)上形成了一套異于《史記》與《淮南子》的新太歲系統(tǒng):《史記》與《淮南子》采用的是戰(zhàn)國時(shí)期的系統(tǒng),而《太初歷》則采用了另外一套太歲系統(tǒng),根據(jù)這兩個(gè)系統(tǒng)的對應(yīng)關(guān)系,前者的太歲在寅,則后者的太歲在子,太歲所在相差二辰。隨著馬王堆漢墓出土文物資料的挖掘整理,根據(jù)馬王堆漢墓帛書整理小組整理的《馬王堆漢墓帛書〈五星占〉釋文》⑤,可知帛書《五星占》所載歲星與太歲歲名的對應(yīng)規(guī)則與《太初歷》基本相同。
曲安京先生也注意到了存在兩套太歲系統(tǒng)⑥。何以存在兩套太歲系統(tǒng),曲安京先生給出的解釋是,認(rèn)為這是歷史上人們針對歲星超辰現(xiàn)象所造成的“干支中斷”等困難而設(shè)計(jì)的方法之一,即“根據(jù)歲星超辰的實(shí)際情況,調(diào)整歲星與太歲的對應(yīng)。如,按照戰(zhàn)國時(shí)期的測定,歲星在丑對應(yīng)太歲在寅,淮南子記錄了這個(gè)系統(tǒng),見表(原書)1-4。在《太初歷》中,根據(jù)歲星超辰的情況,修改為歲星在丑對應(yīng)太歲在子,亦見表(原書)1-4。在太初元年的改歷爭論中,司馬遷《歷術(shù)甲子篇》中采用的是戰(zhàn)國太歲所在系統(tǒng)”⑦。曲安京先生認(rèn)為《太初歷》所述新的太歲系統(tǒng)是為了解決超辰帶來的“干支中斷”困境而設(shè)的。其后,曲安京又以“歲星超辰而造成的干支中斷”解釋太初元年由丙子年改為丁丑年,顯然與前述《太初歷》修改太歲系統(tǒng)的理由相矛盾。因?yàn)槿绻盀榱藦浹a(bǔ)太始二年(公元前95年)因歲星超辰而造成的干支中斷,將太初元年由丙子年改為丁丑年”⑧,則意味“《太初歷》調(diào)整歲星與太歲的對應(yīng)關(guān)系以解決歲星超辰所造成的干支中斷”的結(jié)論是不正確的。
嚴(yán)格地說,木星并非12年一周天,木星的真實(shí)恒星周期是11.8622年,故12年后木星要比原來的恒星位置更往前了一點(diǎn),約86年便超辰一次,出現(xiàn)如《左傳·襄公二十八年》所記“歲在星紀(jì),而淫于玄枵”這種歲星本應(yīng)該在星紀(jì)卻居于玄枵的現(xiàn)象,被稱之為“歲星超辰”。歲星超辰是由于歲星實(shí)際運(yùn)行周期與理想化的太歲十二年一周天之間的差值而導(dǎo)致的一種累積性差值,所以每隔86年左右就要根據(jù)歲星的實(shí)際位置重新調(diào)整太歲的對應(yīng)位置,這樣才能保持太歲與歲星位置的對應(yīng)關(guān)系。而太歲對應(yīng)位置的改變必然會導(dǎo)致對應(yīng)干支的變化,使得太歲紀(jì)年出現(xiàn)干支中斷的現(xiàn)象,這是歲星紀(jì)年無法克服的一大弱點(diǎn),注定了這種紀(jì)年方式的生命力不會長久,并最終被其他穩(wěn)定的紀(jì)年方式所取代。值得注意的是,這種太歲對應(yīng)位置的調(diào)整,是根據(jù)歲星實(shí)際運(yùn)行位置而做的動(dòng)態(tài)調(diào)整,并非是歲星與太歲對應(yīng)關(guān)系規(guī)則的變更。因?yàn)橐揽孔兏鼩q星與太歲的對應(yīng)規(guī)則并不能消除二者周期差異所帶來的累積性差值,所以也就無法消除歲星超辰所固有的種種缺陷。
根據(jù)現(xiàn)代天文學(xué)推算,古籍資料所記木星星次位置和當(dāng)時(shí)的實(shí)際位置有很大誤差。如陳久金先生認(rèn)為“紀(jì)年數(shù)據(jù)與歲星實(shí)際位置相符的時(shí)期在公元前400~360年之間”⑨。張培瑜先生也根據(jù)自己的計(jì)算考驗(yàn),指出“《左傳》所書歲星位置與天象全不相符,皆非其時(shí)觀測實(shí)錄。《漢書·律歷志·世經(jīng)》中,劉歆4次引用《左傳》的歲星記載論證三統(tǒng)歷的合天。筆者以歲術(shù)、紀(jì)術(shù)推步,歲次雖多與三統(tǒng)歷相合,但仍有參差。如哀十七年傳作鶉火次,而三統(tǒng)歷得鶉尾;襄二十八年,歲在星紀(jì)而淫于玄枵,當(dāng)作失次已進(jìn)入玄枵,而三統(tǒng)歷仍作星紀(jì)”⑩。張培瑜先生由此推斷,“《左傳》、《國語》關(guān)于歲星位置的記述,全與天不合,并非實(shí)錄,而是作者根據(jù)12歲行天1周推算得出的”[11]。
歷史上歲星紀(jì)年更多的是用來占驗(yàn)吉兇,其主要作用并非真正紀(jì)年,如《左傳·襄公二十八年》載:“梓慎曰:‘今茲宋、鄭其饑乎?歲在星紀(jì),而淫于玄枵,以有時(shí)災(zāi),陰不堪陽。蛇乘龍。龍,宋、鄭之星也,宋、鄭必饑。玄枵,虛中也。枵,耗名也。土虛而民耗,不饑何為?’”梓慎即對于“歲在星紀(jì),而淫于玄枵”這一歲星超辰現(xiàn)象做了星占意義上的解釋。也就是說,《左傳》、《國語》的歲星星次位置是根據(jù)公元前4世紀(jì)早、中期的某次實(shí)測并運(yùn)用十二年周期上推而得的星次位置。這樣做的目的顯然是想用星占學(xué)解釋此前的重大歷史事件,以證星占的神圣先驗(yàn)。因此,所謂《左傳》、《國語》中的“歲星紀(jì)年”只不過是后人根據(jù)當(dāng)時(shí)的天文觀測結(jié)論,對所記錄的歷史事件按圖索驥式的追溯性套用。有史家評論這種現(xiàn)象說:“推定古代年代,既與實(shí)事懸殊,遂乃橫肆竄亂,竄亂不足,更益之以虛構(gòu),蓋不僅下誤千載,抑且上誣千古者矣?!盵12]
三
太初元年的干支問題:丙子年還是丁丑年?
《太初歷》變更太歲與歲星的對應(yīng)規(guī)則,形成異于《史記》、《淮南子》的一套新的太歲系統(tǒng),對于紀(jì)年方式由歲星紀(jì)年、太歲紀(jì)年向干支紀(jì)年的演變具有里程碑式的重要意義。新的太歲系統(tǒng)的行用,也帶來一系列相關(guān)問題和困惑。如太初元年歲名是丙子年還是丁丑年?《史記·天官書》“歷術(shù)甲子篇”太初元年歲名是否與《漢書》、《后漢書》等其他典籍的記載相矛盾?歷來眾說紛紜。追源溯流,這些問題都與《太初歷》行用新的太歲系統(tǒng)具有內(nèi)在關(guān)系。
關(guān)于太初元年的干支紀(jì)年,《后漢書·律歷中》明確記載:“太史令虞恭、治歷宗?等議:‘太初元年歲在丁丑?!薄白h郎蔡邕議以為:‘漢興承秦,歷用顓頊,元用乙卯。百有二歲,孝武皇帝始改正朔,歷用《太初》,元用丁丑,行之百八十九歲?!?/p>
可見《后漢書》明確認(rèn)為太初元年的干支紀(jì)年應(yīng)為丁丑是沒有疑問的。而太初元年另有丙子年之說,則與太初改歷而帶來的歷法銜接有關(guān)。太初改歷經(jīng)過了一個(gè)比較漫長的歷法調(diào)整階段,據(jù)《后漢書·律歷中》記載:“永元十四年,待詔太史霍融上言:‘昔《太初歷》之興也,發(fā)謀于元封,啟定于元鳳,積三十年,是非乃審。及用《四分》,亦于建武,施于元和,訖于永元,七十余年,然后儀式備立,司候有準(zhǔn)。天事幽微,若此其難也?!碧扑抉R貞于《史記·歷書第四》索隱按:“古歷者,謂黃帝調(diào)歷以前有上元太初歷等,皆以建寅為正,謂之孟春也。及顓頊、夏禹亦以建寅為正。惟黃帝及殷、周、魯并建子為正。而秦正建亥,漢初因之。至武帝元封七年始改用太初歷,仍以周正建子為十一月朔旦冬至,改元太初焉。”
古人治歷,首重歷元,如《后漢書·律歷中》所謂“建歷之本,必先立元,元正然后定日法,法定然后度周天以定分至。三者有程,則歷可成也”。古人認(rèn)為歲始于冬至,月始于朔,日始于甲子,時(shí)始于夜半,以此作為歷法推算的起算點(diǎn),此日成為“歷元”。由“歷元”再往上推算,求出一個(gè)日、月經(jīng)緯度相同,五星又相聚于同一方位的時(shí)刻,即“日月合璧,五星連珠”的時(shí)刻,成為“上元”?!短鯕v》接續(xù)秦所用《顓頊歷》,《顓頊歷》以建亥之月為年首,如《后漢書·律歷中》稱:“漢祖受命,因秦之紀(jì),十月為年首,閏常在歲后?!碧踉昵笆辉虑》昙鬃铀返┒?《漢書·律歷志第一下》記載“歲星在星紀(jì)婺女六度”,按照《太初歷》太歲系統(tǒng),則太歲在子,歲星在星紀(jì),“織女之紀(jì)指牽牛之初,以紀(jì)日月,故曰星紀(jì)。五星起其初,日月起其中”,正符合作為歷元標(biāo)準(zhǔn),這也是太初改歷確立新的太歲系統(tǒng)所依托的天象依據(jù)。
可知《太初歷》改行寅月建正之后,則寅月以前的亥、子、丑三個(gè)月仍屬于元封七年而不屬于太初元年。這與《后漢書·律歷中》所記載順帝漢安二年尚書侍郎邊韶上言相一致:“孝武皇帝攄發(fā)圣思,因元封七年十一月甲子朔旦冬至,乃詔太史令司馬遷、治歷鄧平等更建《太初》,改元易朔,行夏之正,《乾鑿度》八十一分之四十三為日法。”這樣,太初元年由寅月開始的十二個(gè)月定為丑年。因此,太初元年前之第十月至第十二月,雖然同為元封七年,按照《太初歷》計(jì)算,應(yīng)歸于太初元年的前一年,歲名為子;而從太初元年的正月開始直至十二月,歲名為丑??梢娞踉甑母芍c歷法年首由亥月到寅月的規(guī)則變動(dòng)相關(guān),不僅與“歲星超辰”現(xiàn)象無關(guān),更與所謂“太歲超辰”無關(guān)。
《漢書·律歷志第一下》所載歲術(shù)稱:“數(shù)從星紀(jì)起,算盡之外,則所在次也。欲知太歲,以六十除積次,余不盈者,數(shù)從丙子起,算盡之外,則太歲日也。”從歷法的角度明確將太初元年前一年確定為丙子年,太初元年為丁丑年,則與所謂“甲寅元”之爭有關(guān)。
四
《史記·天官書》“歷術(shù)甲子篇”與《漢書》的所謂太初元年為甲寅年之謎。
《史記·歷書第四》記載:“自是以后,氣復(fù)正,羽聲復(fù)清,名復(fù)正變,以至子日當(dāng)冬至,則陰陽離合之道行焉。十一月甲子朔旦冬至已詹,其更以七年為太初元年,年名‘焉逢攝提格’,月名‘畢聚’,日得甲子,夜半朔旦冬至?!薄妒酚洝v書第四》中的《歷術(shù)甲子篇》中也記載“太初元年,歲名‘焉逢攝提格’,月名‘畢聚’,日得甲子,夜半朔旦冬至”。一般據(jù)此認(rèn)為,太初元年應(yīng)為甲寅年,但是這個(gè)記載與《漢書》、《后漢書》等其他典籍記載明顯不同。
古人早已察覺這個(gè)問題,唐代司馬貞于《史記·歷書第四》索隱按:“《爾雅》云‘歲在甲曰焉逢,寅曰攝提格’,則此甲寅之年十一月甲子朔旦夜半冬至也。然此篇末亦云‘寅名攝提格’,則此甲寅之歲也。又據(jù)二年名單閼,三年名執(zhí)徐等,年次分明,而漢志以為其年在丙子,當(dāng)是班固用三統(tǒng),與太初歷不同,故與太史公說有異?!彼抉R貞也注意到了不同典籍記載之間的矛盾,但是司馬貞認(rèn)為,丙子年之說與太史公說有異的原因是班固所用三統(tǒng)歷與太初歷不同所造成的,不過他并沒有說明導(dǎo)致兩種說法不同的三統(tǒng)歷與太初歷具體差異原因所在。
再看《漢書·律歷志第一上》的記載:“至武帝元封七年,漢興百二歲矣,大中大夫公孫卿、壺遂、太史令司馬遷等言‘歷紀(jì)壞廢,宜改正朔’?!薄澳艘郧皻v上元泰初四千六百一十七歲,至于元封七年,復(fù)得閼逢攝提格之歲,中冬十一月甲子朔旦冬至,日月在建星,太歲在子,已得太初本星度新正?!边@段記載中將“復(fù)得閼逢攝提格之歲”與“太歲在子”并列,二者含義不同是顯然的,否則無法解釋如此明顯的矛盾之處,《漢書》作者竟然視而不見。非常明顯,《漢書》并未將“閼逢攝提格之歲”作為太初元年為“甲寅之歲”的根據(jù)。所謂“復(fù)得閼逢攝提格之歲”別有它意。
陳久金先生試圖以“歲星超辰”對這個(gè)難題予以解釋,認(rèn)為“從《顓頊歷》創(chuàng)制到太初元年,歲星超辰實(shí)際約一次半,所以甲寅元?dú)v作超辰兩次處理是可以的”。太歲超辰二年應(yīng)為戊寅,《歷術(shù)甲子篇》之所以確定太初元年歲名為甲寅,是因?yàn)椤肮艜r(shí)習(xí)慣以甲寅當(dāng)作干支法的起首”[13]。曲安京則質(zhì)疑,單就太歲在寅的解釋,陳久金先生的說法似乎可通,但是將戊寅改為甲寅的解釋,顯然不能令人信服。曲安京認(rèn)為迄今為止,導(dǎo)致太初歷將太初元年的歲名從甲寅改變?yōu)楸尤匀粵]有令人信服的解釋[14]。
眾所周知,秦統(tǒng)一中國以后,在全國頒行統(tǒng)一的歷法。對于秦末漢初的歷法名稱,歷來有《顓頊歷》和《殷歷》兩說,爭執(zhí)不下?!皻v元”之說也各有分歧,主要有“甲寅”與“乙卯”兩種說法。
對于秦末漢初所使用的歷法,在《后漢書》中針對“甲寅元”也有比較集中的論述:《后漢書·律歷中》記載“中興以來,圖讖漏泄,而《考靈曜》、《命歷序》皆有甲寅元。其所起在四分庚申元后百一十四歲,朔差卻二日”。文中“百一十四歲”是指從公元前367年(現(xiàn)行歷表為甲寅年),上朔一百一十四年,至公元前481年(現(xiàn)行歷表為庚申年),為孔子獲麟之年。五官郎中馮光與沛相上計(jì)掾陳晃以讖緯為由不滿采用庚申元,認(rèn)為“歷元不正,故妖民叛寇益州,盜賊相續(xù)為害。歷當(dāng)用甲寅為元而用庚申,圖緯無以庚申為元者”。而議郎蔡邕反駁說:“漢興承秦,歷用顓頊,元用乙卯。百有二歲,孝武皇帝始改正朔,歷用《太初》,元用丁丑,行之百八十九歲。孝章皇帝改從《四分》,元用庚申。今光、晃各以庚申為非,甲寅為是。案歷法,黃帝、顓頊、夏、殷、周、魯,凡六家,各自有元。光、晃所據(jù),則殷歷元也。他元雖不明于圖讖,各自一家之術(shù),皆當(dāng)有效于當(dāng)時(shí)。武帝始用《太初》丁丑之后,六家紛錯(cuò),爭訟是非。太史令張壽王挾甲寅元以非漢歷?!眲⒑閯t“推漢己巳元,則《考靈曜》旃蒙之歲,乙卯元也。與光、晃甲寅元相經(jīng)緯”,“甲寅歷于孔子時(shí)效;己巳《顓頊》,秦所施用,漢興草創(chuàng),因而不易”,“夫甲寅元天正,正月甲子朔旦冬至;七曜之起,始于牛初。乙卯之元人正,己巳朔旦立春;三光聚天廟五度”。可見當(dāng)時(shí)歷家關(guān)于歷元的確定即聚訟紛紜,但是基本上是以“甲寅元”為主線,與其他歷元的優(yōu)劣相比較。從馮光、陳晃等人以圖讖為由支持甲寅元而反對庚申元的記載,則可知最初歷元的確立顯然依從于當(dāng)時(shí)流行的圖讖之說,由此也可推測庚申元之說后起于甲寅元,其用意是附會所謂的“孔子獲麟”之說。
有關(guān)甲寅元的文獻(xiàn)記載,《淮南子·天文訓(xùn)》也有“天一元始,正月建寅,日月俱入營室五度,天一以始建七十六歲,日月復(fù)以正月入營室五度無余分,名曰一紀(jì)。凡二十紀(jì),一千五百二十歲大終,日月星辰復(fù)始甲寅元”,“太陰元始建于甲寅,一終而建甲戌,二終而建甲午,三終而復(fù)得甲寅之元”。這段話表明當(dāng)時(shí)行用的歷法,在甲寅年,以寅月為正。天象為日月于正月處于營室五度,若冬至點(diǎn)在牽牛初度,則營室五度應(yīng)為立春。《新唐書·志第十七上歷三上》也有關(guān)于顓頊歷“上元甲寅歲正月甲寅晨初合朔立春,七曜皆直艮維之首”的記述。
關(guān)于甲寅元的確定,一些學(xué)者也有論及。如陳久金、陳美東據(jù)帛書《五星占》所載,認(rèn)為“始皇元年為甲寅年,雖然五星大都聚于營室,但此年立春不在朔日。為了尋找理想的上元,上推120年,正好也是甲寅年,這年就是公元前366年”。并且他根據(jù)帛書《五星占》的資料“證明公元前366年正好符合甲寅年正月甲寅朔旦立春,七曜聚于營室的上元條件”[15]。莫紹揆則認(rèn)為,“秦始皇十年改歷時(shí)要求‘新歷第一年(即秦始皇十一年)為甲子’,做了這個(gè)要求后,一時(shí)很難找到子年子月子日子時(shí)冬至的歷元,但碰巧有寅年寅月寅日寅時(shí)立春的歷元,具體說來是:(秦始皇前120年的)甲寅年甲寅月甲寅日甲寅時(shí)立春的歷元,這就是顓頊歷所以采用立春標(biāo)準(zhǔn)歷的原因”[16]。
陳久金、陳美東二位先生于《臨沂出土漢初古歷初探》一文中通過“找出了《開元占經(jīng)》中《顓頊歷》以乙卯為元的上元積年與甲寅元的關(guān)系,證明了甲寅元與乙卯元始同一《顓頊歷》的不同歷元。使用任何一個(gè)歷元,推算任何一年的歷譜,都可以得到相同的結(jié)果”[17]。
我們知道太初改歷之前以建亥之月為年首,所謂“因秦之紀(jì),十月為年首”。元封七年距秦王政元年相隔142年,由秦王政元年的甲寅年開始下推142年恰好相對應(yīng)于元封七年丙子年。馬王堆漢墓帛書的出土為我們提供了實(shí)物方面的證據(jù),如《〈五星占〉附表釋文》(見《文物》1974年11期)中列有自秦始皇元年至漢文帝三年的七十年間每年木星晨出東方所在宿度和月份,陳久金先生據(jù)此并結(jié)合《馬王堆漢墓帛書〈五星占〉釋文》中關(guān)于木星記錄的原始資料,合成一份完整的秦及漢初歲星紀(jì)年表[18]。根據(jù)這份表格,我們也能看出元封七年(原書標(biāo)為“太初”,不妥)對應(yīng)于丙子年,距秦始皇元年甲寅年142年間干支順序相續(xù)不斷。驗(yàn)之于其他古籍如《淮南子·天文訓(xùn)》“淮南元年冬,太一在丙子”的記載也完全相符(淮南元年即文帝十六年,太一即為歲陰)。
太初改歷之前,元封七年定為丙子年仍然是延續(xù)秦始皇改歷時(shí)所確定的干支命名序列,太初改歷后由于新歷法歲首由原來的亥十月變更為寅正月,導(dǎo)致了元封六年由改歷前的乙亥年變?yōu)楸幽?而改歷后的丙子年由原為乙亥年的元封六年寅月開始再加上元封七年亥、子、丑三個(gè)月,其他年份類同。這也就是秦末《顓頊歷》紀(jì)年法與漢太初改歷后干支紀(jì)年法相差一年的原因。章鴻釗在《中國古歷析疑》中認(rèn)為:“《顓頊歷》是太陰元始甲寅之歲,元用甲寅;《殷歷》是以公元前1567年為元,其年為甲寅,前367年是《顓頊歷》實(shí)行之年?!泵黠@是誤將太初改歷后的甲寅年當(dāng)作《顓頊歷》實(shí)行之年的甲寅年了。
席澤宗先生考證認(rèn)為帛書《五星占》的寫成年代約在公元前170年左右,比《淮南子·天文訓(xùn)》約早三十年,比《史記·天官書》約早90年[19],由此不難推斷從秦始皇十年改歷時(shí)開始至遲從公元前170年開始到太初元年之間,在歲星超辰至少一次的情況下,并沒有根據(jù)歲星的實(shí)際天象位置變化調(diào)整太歲對應(yīng)的干支,也沒有出現(xiàn)所謂太歲紀(jì)年干支中斷的現(xiàn)象?!妒酚洝放c《淮南子》記述的太歲系統(tǒng),與帛書《五星占》、《太初歷》記述的另外一套太歲系統(tǒng)雖然在同一時(shí)期都有流傳,但是從兩種系統(tǒng)之間歲星超辰兩次的時(shí)間關(guān)系判斷,《史記》與《淮南子》所述太歲系統(tǒng)產(chǎn)生年代要早于后者160年以上。若從秦始皇元年至帛書《五星占》寫成年代上推160年估算,上推年代區(qū)間為公元前406年至公元前330年,基本上與陳久金先生“紀(jì)年數(shù)據(jù)與歲星實(shí)際位置相符的時(shí)期在公元前400~360年之間”的結(jié)論相符,由此我們可以初步斷定秦始皇改歷時(shí)即已行用帛書《五星占》太歲系統(tǒng),并且一直到這一太歲系統(tǒng)被《太初歷》所延續(xù)使用,中間并未因?yàn)橛袣q星超辰而出現(xiàn)太歲紀(jì)年干支中斷的現(xiàn)象。
與《漢書》“復(fù)得閼逢攝提格之歲”的記述格式相類似,帛書《五星占》中關(guān)于木星有如下記載:“其明歲以正月與營室晨出東方,復(fù)為攝提格,十二歲而周”[20],王勝利先生在《星歲紀(jì)年管見》一文中證明,“無論用戰(zhàn)國時(shí)所測數(shù)據(jù)驗(yàn)證,還是用現(xiàn)代所測數(shù)據(jù)驗(yàn)證,歲星在第十三年都會出現(xiàn)‘正月與營室晨出東方’的情況”[21]。
張聞?dòng)裣壬J(rèn)為首先需要澄清《史記·歷術(shù)甲子篇》不是一份起自漢太初元年的編年表,而是一部歷法書[22]?!豆糯煳臍v法講座》一書中并引述張汝舟教授多年考訂成果,認(rèn)為《歷術(shù)甲子篇》所記之“‘元年’即四分歷甲子蔀第一年;‘歲名’焉逢攝提格即該年名為‘甲寅’。此處言‘歲名’而不說‘歲在’,可知此‘歲’字不是歲星之‘歲’,而只是指此年,與歲星紀(jì)年劃清了界限”[23]。
張汝舟先生注意到“歲在”與“歲名”之間的差別,認(rèn)為作為歷法的《歷術(shù)甲子篇》,其開篇文字之本義是闡釋這部歷法的第一蔀開始于甲寅歲、甲子月、甲子日夜半子時(shí)0點(diǎn)合朔冬至,這樣一個(gè)理想的歷元起點(diǎn)時(shí)刻。張汝舟先生根據(jù)對《歷術(shù)甲子篇》的研究,認(rèn)為中國最早的歷法就是戰(zhàn)國初期創(chuàng)制,行用于周考王十四年(公元前427年)的殷歷(稱“天正甲寅元”的四分歷)。史記《歷術(shù)甲子篇》就是這一部歷法的文字記錄,《漢書·次度》是它的天象依據(jù)。甲寅元的殷歷起于周考王十四年前十一月己酉朔夜半冬至,后六十一年,即周顯王三年(公元前366年)另創(chuàng)新歷“人正乙卯元”,與殷歷并峙[24]。這個(gè)結(jié)論是否代表司馬遷《歷術(shù)甲子篇》所表述的本意,尚待深入研究考證。但是“焉逢攝提格”的說法更多的是指代甲寅歷元,而不是作為太歲紀(jì)年應(yīng)該是很明確的。
由于歷史典籍文字記載的簡泛,以及當(dāng)時(shí)天文歷法背景信息的缺失及隨之而來的文本誤讀,所謂“導(dǎo)致太初歷將太初元年的歲名從甲寅改變?yōu)楸印笔且粋€(gè)長久以來一直被學(xué)術(shù)界誤讀誤解的問題,可稱是一個(gè)淵源有自的歷史誤會。其中,試圖以所謂“歲星超辰”抑或“太歲超辰”予以解讀是導(dǎo)致這個(gè)問題長期無解的深層原因。
注釋
①②⑨[13][18]陳久金:《從馬王堆帛書〈五星占〉的出土試探我國古代的歲星紀(jì)年問題》,見《中國天文學(xué)史文集》,北京:科學(xué)出版社,1978年,第 59頁,第 63頁,第 62頁,第64 頁 ,第 55頁。
③[19]席澤宗:《中國天文學(xué)史的一個(gè)重要發(fā)現(xiàn)——馬王堆漢墓帛書中的〈五星占〉》,見《中國天文學(xué)史文集》,北京:科學(xué)出版社,1978年,第27頁。
④[16]莫紹揆:《從〈五星占〉看我國的干支紀(jì)年的演變》,《自然科學(xué)史研究》第17卷第1期,1998年。
⑤[20]馬王堆漢墓帛書整理小組:《馬王堆漢墓帛書〈五星占〉釋文》,馬王堆漢墓帛書整理小組:《中國天文學(xué)史文集》,北京:科學(xué)出版社,1978年,第1頁。
⑥⑦⑧[14]曲安京:《中國數(shù)理天文學(xué)》,北京:科學(xué)出版社 ,2008 年 ,第 68、73 頁 ,第 70 頁 ,第 72 頁 ,第 73 頁 。
⑩[11]張培瑜、陳美東、薄樹人、胡鐵珠:《中國古代歷法》,北京:中國科學(xué)技術(shù)出版社,2008年,第 185頁,第186頁。
[12]劉坦:《中國古代之歲星紀(jì)年》,北京:科學(xué)出版社,1957年 ,第 33 頁。
[15]陳久金、陳美東:《從元光歷譜及馬王堆帛書〈五星占〉的出土再探顓頊歷問題》,見《中國天文學(xué)史文集》,北京:科學(xué)出版社,1978年,第110頁。
[17]陳久金、陳美東:《臨沂出土漢初古歷初探》,見《中國天文學(xué)史文集》,北京:科學(xué)出版社,1978年,第79、80頁。
[21]王勝利:《星歲紀(jì)年管見》,見《中國天文學(xué)史文集》(第五集),北京:科學(xué)出版社,1989年,第98頁。
[22][23]張聞?dòng)?《古代天文歷法講座》,桂林:廣西師范大學(xué)出版社,2008年,第149頁,第150頁。
[24]張汝舟:《歷術(shù)甲子篇淺釋》,見《二毋室古代天文歷法論叢》,杭州:浙江古籍出版社,1987年;又見張聞?dòng)瘛豆糯煳臍v法講座》,桂林:廣西師范大學(xué)出版社,2008年,第196頁。
2009-02-10
責(zé)任編輯 梅莉