我國雖然號稱有五千年的文明史,但實際上有確切紀(jì)年的時間卻是從公元前841年開始,到現(xiàn)在怎么看都沒有5000年。為了探尋我國夏商西周三代的歷史年表,1996年我國啟動了夏商周斷代工程,2000年9月結(jié)題,并出版了《夏商周斷代工程一九九六-二〇〇〇年階段成果報告(簡本)》。當(dāng)時剛剛上大學(xué),在四川新華書店的貨架上偶然發(fā)現(xiàn)了這本書,便買回來翻看,是一本很薄的小冊子。最使我關(guān)注的便是“工程”確定了“武王伐紂”的具體年份——公元前1046年。當(dāng)時對于這個問題并沒有什么概念,只是更新了一下自己的認(rèn)識而已。工作兩年以后歷史教材正式將“牧野之戰(zhàn)”的時間定在公元前1046年。2017年,學(xué)校安排我開設(shè)校本課程,我設(shè)置了《中國古代文化》這一課程,第一部分就是“古代天文學(xué)”。為了豐富課堂,又把“武王伐紂”這個老問題拿出來重新看一看。結(jié)果竟然一發(fā)不可收拾。 江曉原的《回天》一書,是夏商周斷代工程的重要成果。該書重點討論了武王伐紂的日程表。首先是對于各家對于克商年份的不同觀點的羅列,共計44種。這里不一一贅述。前人利用古人天文學(xué)記載進(jìn)行研究和后人有一個重要的不同,就是后人在研究時可以借助電子計算機(jī)模擬古代天象。因此,顯然江曉原的研究能夠得出超出前人的精密結(jié)論。這44種克商時間中,最遠(yuǎn)從前1127年,最近至前1018年,跨度達(dá)100年以上。其原因就是各家借助的天象史料不同,加之推算方法不同所致。 隨后江曉原羅列了史書中關(guān)于“武王伐紂”之事的所有天象記載,列舉如下: 1.利簋銘文: 珷征商,唯甲子朝,歲鼎克昏,夙有商。 2.《漢書·律歷志下》引《武成》(此為古本,今本尚書與此篇不同): 惟一月壬辰,旁死霸,若翌日癸巳,武王乃朝步自周,于征伐紂。 粵若來三(當(dāng)作二)月,既死霸,粵五日甲子,咸劉商王紂。 惟四月既旁生霸,粵六日庚戌,武王燎于周廟。翌日辛亥,祀于天位?;浳迦找颐?,乃以庶國祀馘于周廟。 3.《逸周書·世俘解》: 惟一月丙午旁生魄,若翼日丁未,王乃步自于周,討伐商王紂。越若來二月既死魄,越五日甲子朝,至,接于商。則咸劉商王紂。 4.《國語·周語下》伶州鳩對周景王: 昔武王伐殷,歲在鶉火,月在天駟,日在析木之津,辰在斗柄,星在天黿,星與日辰之位皆在北維。 5.《淮南子·兵略訓(xùn)》: 武王伐紂,東面而迎歲,……,彗星出而授殷人其柄。 6.《荀子·儒效》: 武王之誅紂也,行之日以兵忌,東面而迎太歲……。 7.《今本竹書紀(jì)年》卷下: (文王時)孟春六旬,五緯聚房。 8.《新論》(嚴(yán)可均輯本): 甲子,日月若合璧,五星若連珠,昧爽,武王朝至于商郊牧野,從天以討紂,故兵不血刃而定天下。 9.《太平御覽》引《春秋緯·元命苞》: 殷紂之時,五星聚于房。 10.《逸周書·小開解》 惟三十有五祀,(文)王念曰:多□,正月丙子拜望,食無時。 11.《舊唐書·禮儀志一》長孫無忌等奏議引《六韜》曰: 武王伐紂,雪深丈余。五車二馬,行無轍跡,詣營求謁,武王怪而問焉,太公對曰:此必五方之神,來受事耳。遂以其名召入,各以其職命焉。既而克商,風(fēng)調(diào)雨順。 12.《周書·劉璠傳》載劉《雪賦》: 庚辰有七尺之厚,甲子有一丈之深。 13.《今本竹書紀(jì)年》卷上: (帝辛)三十二年,五星聚于房。有赤烏集于周社?!ǖ坌粒┤辏蹂a命西伯,得專征伐。 14.《尸子》卷下: 武王伐紂,魚辛諫曰:歲在北方不北征。武王不從。 15.《尚書·周書·泰誓》序: 惟十有一年武王伐殷,一月戊午師渡孟津,作《泰誓》三篇。 16.《史記·周本紀(jì)》: 十一年十二月戊午,師畢渡孟津,……武王乃作《泰誓》……。 接下來對16種天象進(jìn)行詳細(xì)分析,得出哪些天象可用的結(jié)論。列如下表格: 16項有關(guān)武王伐紂天象及歷日之可能與可用情況一覽
其結(jié)論是武王伐紂日程表必須滿足七項條件: 1.克商之日的日干支為甲子?!獡?jù)利簋銘文 2.克商之日的清晨應(yīng)有歲星當(dāng)頭的天象?!獡?jù)利簋銘文 3.周師出發(fā)時應(yīng)能在當(dāng)?shù)貣|方見到歲星。——據(jù)《淮南子·兵略訓(xùn)》 4.在周師出發(fā)前后,應(yīng)有“月在天駟”和“日在析木之津”的天象?!獡?jù)《國語》伶州鳩對周景王所述伐紂天象及《三統(tǒng)歷·世經(jīng)》中的有關(guān)討論 5.從周師出發(fā)到克商之間應(yīng)有一段日子,這段日子的長度應(yīng)使得周師從周地出發(fā)行進(jìn)至牧野有合乎常理的時間?!獡?jù)《武成》與《世俘》所記歷日及《三統(tǒng)歷·世經(jīng)》中的有關(guān)討論,和《周書》、《史記》所載渡孟津日干支 6.在周師出發(fā)后、甲子日克商前,應(yīng)有兩次朔發(fā)生,第一次日干支為辛卯或壬辰;第二次則約為克商前五日,日干支為庚申或辛酉(考慮周初對朔的確定有誤差)?!獡?jù)《武成》與《世俘》所記歷日 7.在武王伐紂的過程中,應(yīng)能見到“星在元黿”的天象?!獡?jù)《國語》伶州鳩對周景王所述伐紂天象 在確定必須滿足的條件后,利用兩種方案推算篩選伐紂日程。 方案一: 第一步:從“月在天駟”和“日在析木之津”入手。計算出公元前1122-前1021年之間共145個滿足的日期,并制成表格(94-98頁)。 第二步:尋找145個日期之后干支為甲子的日期,并要求“月在天駟,日在析木之津”之日和甲子日之間間隔合理的天數(shù)。然后計算這些甲子日的月齡——距離前一個定朔的日序,然后根據(jù)《武成》推算既死魄的日序。認(rèn)定:初三至十六不可能為既死魄定日點,按《武成》歷日,克商之甲子日不會再初七到二十之間。刪除不合的部分,又得一表。(99-101頁)此時可選日期減少到59個。 第三步:利用兩種歲星天象進(jìn)行篩選。一、“月在天駟”和“日在析木之津”之日及此后若干日能否見到“東面而迎歲”;二、甲子日歲星上中天的情況:是否在白天,是否在日出前。再得一表(102頁)。 這樣,公元前1047年11月27日附近出師、公元前1046年1月20日克商一項,在歲星天象篩選一步中落選。因為:那一項出師時要在黃昏才能見到歲星;而歲鼎發(fā)生在克商甲子日的前一天晚上牧野地方平時23時45分,不符合利簋“甲子朝歲鼎”的記述。(但不知何故夏商周斷代工程將前1046年定為牧野之戰(zhàn)之年。) 第四步:天象綜合檢驗:考察月與天駟四星的位置關(guān)系、“月在天駟”天象發(fā)生的時間、“歲鼎”時歲星的地平線高度、其他亮天體情況等等。又列一表。得出七組勉強(qiáng)可取及可取日期。 第五步:結(jié)合不同月相定義將甲子日的歷日分為三種情況。既死魄定日點在二十日、二十五日前后、晦日或朔日。將這三種情況結(jié)合《武成》所知伐紂進(jìn)程的日干支進(jìn)行合理推斷,只有第3、6兩組可以排列出合理的伐紂日程。從而證明《武成》所謂“既死霸”只能解釋為晦或朔時不見月之日才合理。而第三組日期甲子日“歲鼎”時間偏早。因此之后第六組:公元前1045年12月3日(或4日及附近的日子)武王出師,公元前1044年1月9日甲子日克商——此日“歲鼎”時間為4:55,緊扣利簋銘文,成為唯一可取日期。 將此日期利用SkyMap3.2軟件演示、驗證,得出兩圖,兩日天象與史書所載幾乎完全符合。(兩圖在文尾)結(jié)合《武成》、《世俘》歷日,制作出武王伐紂日程表。(縮減如下)
(黑體字為說明,宋體字為《武成》記事,楷體為《世俘》記事) 根據(jù)表格,江曉原指出: 通常都認(rèn)為《世俘》篇中的“惟一月丙午旁生魄”應(yīng)據(jù)《武成》改為“壬辰旁死魄”,“若翼日丁未”應(yīng)據(jù)《武成》改為“癸巳”,但據(jù)我們所得的“既死魄定點日不可能為初三至十六”篩選表,這樣的改動不僅是不必要的,而且很可能是錯誤的,因為丙午這天正是旁生魄——望;而“若翼日丁未”自然也是正確的陳述。我們可以給出一個新的解釋: 將《武成》“王朝步自周”釋為“武王從周地出發(fā)”(注意:周師已經(jīng)先期出發(fā)),將《世俘》“王乃步自于周”釋為“武王從周地來到軍中”。武王于一月壬辰旁死魄之次日從周地出發(fā),至一月丙午旁生魄的次日與大部隊會合。這樣的解釋合情合理,又不必改動文獻(xiàn),就可使《武成》、《世俘》兩者同時暢然可通,應(yīng)該是可取的。 關(guān)于表中“師初發(fā)”定在12月4日,作者解釋是依據(jù)《三統(tǒng)歷·世經(jīng)》中的師初發(fā)在戊子日之說。并推測劉歆的推論可能確有所本。 到這里只有一項必要條件沒有檢驗,即水星的位置問題。作者用運用DE404軟件,對日程表中所涉及的時間段中的水星及有關(guān)天象進(jìn)行計算得出一表。(113-116頁)并證明這一時期的水星位置符合記載。并最終得出結(jié)論: 公元前1045年12月4日戊子,出師, 公元前1044年1月9日甲子,牧野之戰(zhàn),克商。 方案二: 此方案也是從《國語·周語下》伶州鳩所述武王伐紂天象入手,但要求相對第一套方案更嚴(yán)苛。 第一步先從“月在天駟”和“日在析木之津”入手。通過DE404軟件計算公元前1119年——前1000年間日、月位置,只得出13個符合條件的日子。隨后,結(jié)合《淮南子·兵略訓(xùn)》:“武王伐紂,東面而迎歲”的記載以及《世經(jīng)》中的記載,發(fā)現(xiàn)前1045年12月3日丁亥,最為合適,遂推定武王伐紂出師之日在前1045年12月4日。之后再依據(jù)《武成》與《世俘》的歷日與伶州鳩所述天象進(jìn)行回推比對(利用DE404軟件),皆能夠?qū)?yīng)。最后考察利簋記錄,比對,亦合。隨后又討論了伶州鳩的“歲在鶉火”問題。 也就是說方案一和方案二均得出同一結(jié)論。根據(jù)這個結(jié)論,得出一表: 武王伐紂天象與歷史事件一覽表
最終得出三個重要日期是: 公元前1045年12月4日——周師出發(fā) 公元前1044年1月3日——周師渡過孟津 公元前1044年1月9日——牧野之戰(zhàn) 同時得出了:“古籍中關(guān)于武王伐紂天象絕大部分記錄都是真實的。”(125頁)的結(jié)論。 可是這樣一個結(jié)論,卻沒有被夏商周斷代工程所使用。工程選擇了公元前1046年作為牧野之戰(zhàn)發(fā)生年為最優(yōu)解。對于這個結(jié)論,在本書附錄中,江曉原有列一表來對比前1046說、前1027說與前1044說的優(yōu)劣,節(jié)錄如下(舍去前1027說)。
由此可見,公元前1044年說比前1046年說似乎更加合適,但究竟為何未被采用非常令人費解。(筆者認(rèn)為,利簋銘文是推斷牧野之戰(zhàn)的重要材料,即使所有天文現(xiàn)象皆不合,也應(yīng)該與利簋合,因為沒有比利簋銘文更直接的關(guān)于牧野之戰(zhàn)天象的證據(jù)了。而前1046年說居然與利簋銘文也不合,實在令人費解。除非工程領(lǐng)導(dǎo)小組對利簋銘文“歲鼎”二字有不同解釋。)附錄中又附有江曉原給李學(xué)勤的一封信,信中提及工程希望江曉原提供“次優(yōu)解”,但江氏認(rèn)為提供“次優(yōu)解”沒有必要,并甚至進(jìn)一步引起學(xué)術(shù)界混亂。李學(xué)勤如何答復(fù)不得而知。 參加過夏商周斷代工程的江林昌在其著作《夏商周文明新探》第五章中曾經(jīng)提到了工程關(guān)于武王伐紂的時間的討論與確定問題。摘錄如下: 根據(jù)金文歷譜及《武成》歷日、《國語》“歲在鶉火”等天象,“工程”得武王克商年為公元前1046年。根據(jù)武丁時期五次月食推算以及古本《竹書紀(jì)年》所記西周積年257年,“工程”得武王克商年為公元前1027年。根據(jù)《武成》文獻(xiàn)及利簋“歲鼎”為歲星當(dāng)頭解,“工程”得武王克商年為公元前1044年。以上三數(shù)也均在考古測年范圍內(nèi),都有一定的合理性。在綜合考慮的前提下,“工程”對公元前1046年方案作出了傾向性選擇。(江林昌《夏商周文明新探》 浙江人民出版社 2001年12月版) 根據(jù)江林昌的說法,對照江曉原著作我們可以發(fā)現(xiàn),江林昌似乎忽視了江曉原成果中對于現(xiàn)存史料記載的天象的論證。同時江林昌也沒有給出“工程”選擇前1046年方案的具體原因,只說是“綜合考慮的前提下”,更是讓人一頭霧水。 《夏商周斷代工程一九九六——二〇〇〇年階段成果報告(簡本)》(下簡稱《工程簡本》)對前1044年說的評價及對選擇前1046年的解釋是: 公元前1044年說開創(chuàng)了全新的研究思路,對《國語·周語》伶州鳩語、《荀子·效儒》等文獻(xiàn)作了較為順暢的解釋,所得甲子克商之日清晨歲星上中天。此說的問題,在于對金文紀(jì)時詞語的理解與夏商周斷代工程金文歷譜研究所得結(jié)果難以整合。 根據(jù)夏商周斷代工程所定金文歷譜,成王元年在公元前1042年,目前尚未發(fā)現(xiàn)四要素俱全的武王時的青銅器,難以直接推定克商之年。據(jù)《尚書·金縢》,武王在“既克商二年”的某日得病,經(jīng)周公祈告,次日即病愈,又說武王死后,國中發(fā)生“管蔡之亂”,但沒有提及武王的卒年,后世學(xué)者對武王克商后的在位年數(shù)有爭議,據(jù)梁玉繩《史記志疑》統(tǒng)計,有二年、三年、四年、六年、七年、八年等異說。但文獻(xiàn)記述武王史事無超過四年以上者。東漢學(xué)者鄭玄在其《詩譜·豳風(fēng)譜》中提出,武王克商后在位四年;日本學(xué)者瀧川資言《史記會注考證》引日本高山寺《周本紀(jì)》鈔本,武王于克商后二年病,又“后二年而崩”,與鄭說相合。取此說則克商年為公元前1046年,天文推算的公元前1046年說與此正相符合。此說與金文歷譜銜接較好,與《武成》、《召誥》、《洛誥》歷日、《國語·周語》伶州鳩語等也能相容,是三說中符合條件最多的一種,故定為武王克商的首選之年。(世界圖書出版社 2000年10月版48-49頁) 既然如此,就需要看一看前1046年說的天文依據(jù)是什么,因為在前列江曉原對比表中前1046年說的天象大部分是與史料記載不合的。 《工程簡本》第46頁是這樣介紹公元前1046年的推定方法的: 此說從研究《武成》歷日入手,逐一排比不同的月相說與克商年的對應(yīng)關(guān)系。又對《國語》伶州鳩語的每月情況進(jìn)行分析和排列,認(rèn)為其所述“日月星辰”的位置渾然一體,其中“日在析木”限定了一月朔的日期(11月12日——12月11日)。為謹(jǐn)慎起見,將《武成》一月朔放寬到11月1日——1月31日期間(即建亥、建子、建丑)進(jìn)行篩選,得到公元前1120——前1020年的100年之間約150組克商的可能日期。再按夏商周斷代工程關(guān)于金文紀(jì)時詞語的理解(生霸在望前、死霸在望后)篩選,得到10組密合、15組粗合的日期。最后用“歲在鶉火”作為檢驗條件篩選,得到3組克商甲子日: ①公元前1093年1月27日; ②公元前1082年1月29日; ③公元前1046年1月20日。 其中第③組為密合,其余為粗合。結(jié)合文獻(xiàn)、考古信息以及天文條件的符合程度,選出克商日為公元前1046年1月20日。 此一種方法使筆者難以理解的是將《武成》中的一月朔放寬到11月1日——1月31日期間,意思是能將就建亥、建子和建丑三種月建。但問題是,眾所周知,周歷建子、商歷建丑、夏歷建寅、秦歷建亥。討論《武成》的月建用周歷或商歷即可,為什么要討論建亥呢?另一個問題是,《工程簡本》在確定前1046年說的依據(jù)還有瀧川資言《史記會注考證》引用的日本高山寺《周本紀(jì)》鈔本。國內(nèi)《史記》鈔本眾多,為什么確信日本鈔本是正確版本呢? 最后來說說江曉原的問題。筆者認(rèn)為江的問題在于,對于史料是否進(jìn)行了細(xì)致的甄別。各種史料之中,比較可信的應(yīng)該是利簋天象、《武成》、《世俘》歷日、《牧誓》、《泰誓》歷日,但是《國語》中的記述則實在不能作為完全可信的天象,因為《國語》本身很可能就出自劉歆的偽造,如果過于迷信《國語》結(jié)論很可能南轅北轍。《淮南子》成書時已經(jīng)去武王伐紂約900年,其中的關(guān)于天象的記述能否可信也需打一個大大的問號。而劉歆的《三統(tǒng)歷》,盡管江曉原用了大量篇幅來證明劉歆的《三統(tǒng)歷》是很科學(xué)的計算方法,但劉歆的時代距離武王伐紂的時代比起《淮南子》更遠(yuǎn),盡管也許劉歆的時代比我們掌握更多的第一手材料,但是不得不承認(rèn),劉歆時代作偽是稀松平常的事情,而辨?zhèn)蝿t肯定沒有現(xiàn)在的水平,因此劉歆見到的資料多少為真,多少是偽造也是值得考慮的。更何況劉歆時代的數(shù)學(xué)計算和天象推演能力則完全與現(xiàn)代無法相比。最后便是關(guān)于“生霸”、“死霸”的問題,學(xué)術(shù)界并無統(tǒng)一意見,李學(xué)勤雖然承認(rèn)江曉原的解釋打開了思路,但由于與江曉原的觀點相左,因此棄而不用。因此,用天象來討論武王伐紂的時間雖然是目前比較合適的方法,但是由于對于史料的分析討論、辨?zhèn)渭敖忉尩牟煌厝粠碇T多不同意見,這樣就幾乎不可能得出一個統(tǒng)一的各界都認(rèn)可的時間,只能通過行政命令強(qiáng)行推廣,讓我們將一個很可能是錯誤的時間作為金科玉律實在是有悖于歷史研究的原則。當(dāng)然還有一個吹毛求疵的問題,江曉原使用的若干天文軟件是否能正確推演出當(dāng)時天象? 其實,筆者認(rèn)為,探討牧野之戰(zhàn)究竟發(fā)生在哪一年并無意義。夏商周斷代工程其實無非是想向人們證明中華文明確實有五千年之久,但筆者再想,真的證明了又有什么意義呢?中華五千年文明本來就是一個洋教士隨便一說,幾百年下來就被我們奉為金科玉律,有人提出不同意見就不高興(說長了還好,說短了就不高興)。搞什么夏商周工程還是什么文明探源工程無非是想樹立民族自信,可是仔細(xì)想來,在這些細(xì)枝末節(jié)的問題上下功夫恰恰是一種民族不自信的表現(xiàn)。“不管你信不信,反正我信了”不就完了。何苦徒增煩惱?不過讀了《回天》這本書,我對夏商周斷代工程諸多成果中唯一信奉的成果也被擊下神壇。 近日,“夏商周斷代工程”的負(fù)責(zé)人李學(xué)勤去世,關(guān)于夏商周斷代的工程的若干公案也都被帶去了另一個世界,大師的離世對我們固然是損失,但是換一個角度想,李學(xué)勤的去世對于歷史研究也許是件好事,總之,人總是要死的,路還得后人一步一步的走。只是,希望多做些有意義的事,不要再浪費寶貴的時間和經(jīng)費了。 |
|