武王伐纣究竟在哪一年?

武王伐纣是我国历史上的一件具有划时代意义的大事。它是商衰周兴的转折点。在《尚书。牧誓》中,对这次大战的经过曾作了简略的记载,是我们了解这次大战的最早文献。武王伐纣发生在什么时候?《牧誓》开篇曰:“时甲子昧爽”,仅有纪日,而无明确的年代。因此,给后人留下了一个千古悬案。
    我国有记载的确实纪年始于公元前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种考证结果,这在史学研究中是非常罕见的现象。虽然上述诸说结论迥异,但各有所据,难道武王伐纣的年代真是纷纷然而不可定一吗?正确的年代只能是一个,但究竟是哪一年,还有待于努力探讨。
    (黄显功)

《千古之谜》