武王伐紂究竟在哪一年?

武王伐紂是我國歷史上的一件具有劃時代意義的大事。它是商衰周興的轉折點。在《尚書。牧誓》中,對這次大戰的經過曾作了簡略的記載,是我們瞭解這次大戰的最早文獻。武王伐紂發生在什麼時候?《牧誓》開篇曰:「時甲子昧爽」,僅有紀日,而無明確的年代。因此,給後人留下了一個千古懸案。

我國有記載的確實紀年始於公元前841年。在這之前的史事年代均要通過推算得到。由於上古史料的缺乏,人們推算的武王伐紂年代簡直令人無所適從。胡厚宣在《古代研究的史料問題》中列舉了前人的十二說法:即公元前1130年、前1123年、前1122年、前1117年、前1116年、前1111年、前1078年、前1067年、前1066年、前1150年、前1051年、前1050年、前1047年。加上梁啟超提出的前1027年,唐蘭提出的前1075年(《新建設》1955年第3期),丁山提出的前1029年(《商周史料考證》),章鴻釗提出的前1055年(《中國古歷析疑》),凡16種,使武王伐紂的年代問題變得撲朔迷離。這些說法中,以公元前1066年、前1122年、前1027年說最有代表性。

前1066年說最早由日本新城新藏據南北朝陶弘景的《古今刀劍錄》在《東洋天文史研究。周初之年代》中提出。後來,範文瀾的《中國通史》、齊思和的《中外歷史年表》等也採用了此說。前1122年說源於劉歆的《世經》和《三統歷》,此說曾影響了後世的很多學者,但也有人批評劉歆的推算是「欲以合《春秋》,橫斷年數,損夏益周」(《後漢書。律歷志》),肆意縮短夏、商年數而妄增周朝年數,主觀因素太多。前1027年說自梁啟超在1922年提出後,雷海宗的《殷週年代考》、陳夢家的《西週年代考》皆主張此說。

特別是郭沫若的《中國史稿》採取此說後,在國內外史學界,得到了很多人的承認。此說原本於《史記。周本紀》裴駰《集解》引:「《汲塚紀年》曰:『自武王滅殷以至幽王,凡二百五十七年也。」即從周幽王最後一年(前771年)上溯257年,便是前1027年。

近年來,人們又對武王伐紂年代進行了推算,提出了新的說法。黃寶權等對前1027年說「稍事推進」後,提出了前1029年說。他們依據《國語。周語下》「昔武王伐殷,歲在鶉火」和《史記。天官書》「作鄂歲,歲陰在酉,星居午」等記載,認定武王伐紂在「酉年」,但用於支推算,從周幽王亡上溯257年的結果卻非「酉年」,其最接近的酉年是前1032年。那麼是否可斷定前1032年就是武王伐紂之年呢?不能。原來史書上所用的歲星紀年法並不準確,每隔86年要誤差一年,257年間正好誤差3年,「減去誤差數得出前1029年就是武王克殷的絕對年代。」再進一步推算後得出結論,武王伐紂之戰是在這年的「周歷二月五日黎明前打響的」(黃寶權、陳華新《周武王克殷年代考》,載《華南師院學報》1979年第4期)。

著名天文學家張鈺哲先生利用電子計算機及大行星攝動而求得的這三千多年中的運動軌道,將我國歷史上各次可能是哈雷彗星的記錄加以分析考證後指出:如果武王伐紂時出現的彗星是哈雷彗星的話,「那麼武王伐紂之年便是公元前1057~1056年」(《哈雷彗星的軌道演變的趨勢和它的古代歷史》,載《天文學報》第十九卷一期)。因為《淮南子。兵略訓》中曾寫道:「武王伐紂,東面而迎歲,……彗星出,而授殷人其柄」。其顯示的天像是木星出現在東方的天空上,同時還有彗星出現,頭向著東方。根據1910年4月19日哈雷彗星的出現逆推40次回歸過近日點,發現在前1057年3月7日,哈雷彗星距地球甚近,在這年的頭3個月裡都能看到它,其天象正與《淮南子》記載相同。那時,木星運行在張宿中,正當鶉火之次,與《國語。周語下》所說的「武王伐殷,歲在鶉火」相合。趙光賢據此認為,天像是客觀存在而又有規律可尋的,用電子計算機來算四千年前的天象,並與史料相結合,「推算出來的年代就是可信的。」從史料的考證上,趙光賢進一步充實

和支持了前1057年說,並指出「自武王滅殷以至幽王,凡二百五十七年」(《史記。周本紀》集解)中的「至幽王」,不是指幽王亡年(前771年),而是即位之年(前782年),而「二百五十七年」的「五」、「七」兩字應顛倒過來,這樣推算出來的武王伐紂年代才是正確的:即771加11(幽王在位年數)再加275,共為1057年(《從天象上推斷武王伐紂之年》,載《歷史研究》1979年第10期)。

何幼琦根據天文曆法的知識和方法,通過推算文物、文獻中有關的紀時,也考證了武王伐紂的年代。在推算方法上,以1980年為起點,推算尺度用現代天文常數,回歸年(歲實)為365.2422日,朔望月(朔策)為29.530588日。何幼琦先通過《小盂鼎》、《庚嬴鼎》的銘文間接地推算出康王元年(前1013年)和成王元年(前1030年),然後依據《史記。周本紀》「既克殷後二年……武王病……有瘳而後崩。……周公乃行政當國,……行政七年,成王長,周公反政成王」的記載,逆算斷定:「克殷之年,當在成王元年前七年又二年」。即前1039年,並算出大戰就發生在這年的元旦(正月甲子胐)。

所以說,武王伐紂是一次利用節日,出敵不意,遠途奔襲的成功戰例(《周武王伐紂的年代問題》,載《中山大學學報》1981年第1期)。

一個歷史年代的推算竟引起人們的廣泛注目,並提出了19種考證結果,這在史學研究中是非常罕見的現象。雖然上述諸說結論迥異,但各有所據,難道武王伐紂的年代真是紛紛然而不可定一嗎?正確的年代只能是一個,但究竟是哪一年,還有待於努力探討。

(黃顯功)

《千古之謎》