我国虽然号称有五千年的文明史,但实际上有确切纪年的时间却是从公元前841年开始,到现在怎么看都没有5000年。为了探寻我国夏商西周三代的历史年表,1996年我国启动了夏商周断代工程,2000年9月结题,并出版了《夏商周断代工程一九九六-二〇〇〇年阶段成果报告(简本)》。当时刚刚上大学,在四川新华书店的货架上偶然发现了这本书,便买回来翻看,是一本很薄的小册子。最使我关注的便是“工程”确定了“武王伐纣”的具体年份——公元前1046年。当时对于这个问题并没有什么概念,只是更新了一下自己的认识而已。工作两年以后历史教材正式将“牧野之战”的时间定在公元前1046年。2017年,学校安排我开设校本课程,我设置了《中国古代文化》这一课程,第一部分就是“古代天文学”。为了丰富课堂,又把“武王伐纣”这个老问题拿出来重新看一看。结果竟然一发不可收拾。 江晓原的《回天》一书,是夏商周断代工程的重要成果。该书重点讨论了武王伐纣的日程表。首先是对于各家对于克商年份的不同观点的罗列,共计44种。这里不一一赘述。前人利用古人天文学记载进行研究和后人有一个重要的不同,就是后人在研究时可以借助电子计算机模拟古代天象。因此,显然江晓原的研究能够得出超出前人的精密结论。这44种克商时间中,最远从前1127年,最近至前1018年,跨度达100年以上。其原因就是各家借助的天象史料不同,加之推算方法不同所致。 随后江晓原罗列了史书中关于“武王伐纣”之事的所有天象记载,列举如下: 1.利簋铭文: 珷征商,唯甲子朝,岁鼎克昏,夙有商。 2.《汉书·律历志下》引《武成》(此为古本,今本尚书与此篇不同): 惟一月壬辰,旁死霸,若翌日癸巳,武王乃朝步自周,于征伐纣。 粤若来三(当作二)月,既死霸,粤五日甲子,咸刘商王纣。 惟四月既旁生霸,粤六日庚戌,武王燎于周庙。翌日辛亥,祀于天位。粤五日乙卯,乃以庶国祀馘于周庙。 3.《逸周书·世俘解》: 惟一月丙午旁生魄,若翼日丁未,王乃步自于周,讨伐商王纣。越若来二月既死魄,越五日甲子朝,至,接于商。则咸刘商王纣。 4.《国语·周语下》伶州鸠对周景王: 昔武王伐殷,岁在鹑火,月在天驷,日在析木之津,辰在斗柄,星在天鼋,星与日辰之位皆在北维。 5.《淮南子·兵略训》: 武王伐纣,东面而迎岁,……,彗星出而授殷人其柄。 6.《荀子·儒效》: 武王之诛纣也,行之日以兵忌,东面而迎太岁……。 7.《今本竹书纪年》卷下: (文王时)孟春六旬,五纬聚房。 8.《新论》(严可均辑本): 甲子,日月若合璧,五星若连珠,昧爽,武王朝至于商郊牧野,从天以讨纣,故兵不血刃而定天下。 9.《太平御览》引《春秋纬·元命苞》: 殷纣之时,五星聚于房。 10.《逸周书·小开解》 惟三十有五祀,(文)王念曰:多□,正月丙子拜望,食无时。 11.《旧唐书·礼仪志一》长孙无忌等奏议引《六韬》曰: 武王伐纣,雪深丈余。五车二马,行无辙迹,诣营求谒,武王怪而问焉,太公对曰:此必五方之神,来受事耳。遂以其名召入,各以其职命焉。既而克商,风调雨顺。 12.《周书·刘璠传》载刘《雪赋》: 庚辰有七尺之厚,甲子有一丈之深。 13.《今本竹书纪年》卷上: (帝辛)三十二年,五星聚于房。有赤乌集于周社。……(帝辛)三十三年,王锡命西伯,得专征伐。 14.《尸子》卷下: 武王伐纣,鱼辛谏曰:岁在北方不北征。武王不从。 15.《尚书·周书·泰誓》序: 惟十有一年武王伐殷,一月戊午师渡孟津,作《泰誓》三篇。 16.《史记·周本纪》: 十一年十二月戊午,师毕渡孟津,……武王乃作《泰誓》……。 接下来对16种天象进行详细分析,得出哪些天象可用的结论。列如下表格: 16项有关武王伐纣天象及历日之可能与可用情况一览
其结论是武王伐纣日程表必须满足七项条件: 1.克商之日的日干支为甲子。——据利簋铭文 2.克商之日的清晨应有岁星当头的天象。——据利簋铭文 3.周师出发时应能在当地东方见到岁星。——据《淮南子·兵略训》 4.在周师出发前后,应有“月在天驷”和“日在析木之津”的天象。——据《国语》伶州鸠对周景王所述伐纣天象及《三统历·世经》中的有关讨论 5.从周师出发到克商之间应有一段日子,这段日子的长度应使得周师从周地出发行进至牧野有合乎常理的时间。——据《武成》与《世俘》所记历日及《三统历·世经》中的有关讨论,和《周书》、《史记》所载渡孟津日干支 6.在周师出发后、甲子日克商前,应有两次朔发生,第一次日干支为辛卯或壬辰;第二次则约为克商前五日,日干支为庚申或辛酉(考虑周初对朔的确定有误差)。——据《武成》与《世俘》所记历日 7.在武王伐纣的过程中,应能见到“星在元鼋”的天象。——据《国语》伶州鸠对周景王所述伐纣天象 在确定必须满足的条件后,利用两种方案推算筛选伐纣日程。 方案一: 第一步:从“月在天驷”和“日在析木之津”入手。计算出公元前1122-前1021年之间共145个满足的日期,并制成表格(94-98页)。 第二步:寻找145个日期之后干支为甲子的日期,并要求“月在天驷,日在析木之津”之日和甲子日之间间隔合理的天数。然后计算这些甲子日的月龄——距离前一个定朔的日序,然后根据《武成》推算既死魄的日序。认定:初三至十六不可能为既死魄定日点,按《武成》历日,克商之甲子日不会再初七到二十之间。删除不合的部分,又得一表。(99-101页)此时可选日期减少到59个。 第三步:利用两种岁星天象进行筛选。一、“月在天驷”和“日在析木之津”之日及此后若干日能否见到“东面而迎岁”;二、甲子日岁星上中天的情况:是否在白天,是否在日出前。再得一表(102页)。 这样,公元前1047年11月27日附近出师、公元前1046年1月20日克商一项,在岁星天象筛选一步中落选。因为:那一项出师时要在黄昏才能见到岁星;而岁鼎发生在克商甲子日的前一天晚上牧野地方平时23时45分,不符合利簋“甲子朝岁鼎”的记述。(但不知何故夏商周断代工程将前1046年定为牧野之战之年。) 第四步:天象综合检验:考察月与天驷四星的位置关系、“月在天驷”天象发生的时间、“岁鼎”时岁星的地平线高度、其他亮天体情况等等。又列一表。得出七组勉强可取及可取日期。 第五步:结合不同月相定义将甲子日的历日分为三种情况。既死魄定日点在二十日、二十五日前后、晦日或朔日。将这三种情况结合《武成》所知伐纣进程的日干支进行合理推断,只有第3、6两组可以排列出合理的伐纣日程。从而证明《武成》所谓“既死霸”只能解释为晦或朔时不见月之日才合理。而第三组日期甲子日“岁鼎”时间偏早。因此之后第六组:公元前1045年12月3日(或4日及附近的日子)武王出师,公元前1044年1月9日甲子日克商——此日“岁鼎”时间为4:55,紧扣利簋铭文,成为唯一可取日期。 将此日期利用SkyMap3.2软件演示、验证,得出两图,两日天象与史书所载几乎完全符合。(两图在文尾)结合《武成》、《世俘》历日,制作出武王伐纣日程表。(缩减如下)
(黑体字为说明,宋体字为《武成》记事,楷体为《世俘》记事) 根据表格,江晓原指出: 通常都认为《世俘》篇中的“惟一月丙午旁生魄”应据《武成》改为“壬辰旁死魄”,“若翼日丁未”应据《武成》改为“癸巳”,但据我们所得的“既死魄定点日不可能为初三至十六”筛选表,这样的改动不仅是不必要的,而且很可能是错误的,因为丙午这天正是旁生魄——望;而“若翼日丁未”自然也是正确的陈述。我们可以给出一个新的解释: 将《武成》“王朝步自周”释为“武王从周地出发”(注意:周师已经先期出发),将《世俘》“王乃步自于周”释为“武王从周地来到军中”。武王于一月壬辰旁死魄之次日从周地出发,至一月丙午旁生魄的次日与大部队会合。这样的解释合情合理,又不必改动文献,就可使《武成》、《世俘》两者同时畅然可通,应该是可取的。 关于表中“师初发”定在12月4日,作者解释是依据《三统历·世经》中的师初发在戊子日之说。并推测刘歆的推论可能确有所本。 到这里只有一项必要条件没有检验,即水星的位置问题。作者用运用DE404软件,对日程表中所涉及的时间段中的水星及有关天象进行计算得出一表。(113-116页)并证明这一时期的水星位置符合记载。并最终得出结论: 公元前1045年12月4日戊子,出师, 公元前1044年1月9日甲子,牧野之战,克商。 方案二: 此方案也是从《国语·周语下》伶州鸠所述武王伐纣天象入手,但要求相对第一套方案更严苛。 第一步先从“月在天驷”和“日在析木之津”入手。通过DE404软件计算公元前1119年——前1000年间日、月位置,只得出13个符合条件的日子。随后,结合《淮南子·兵略训》:“武王伐纣,东面而迎岁”的记载以及《世经》中的记载,发现前1045年12月3日丁亥,最为合适,遂推定武王伐纣出师之日在前1045年12月4日。之后再依据《武成》与《世俘》的历日与伶州鸠所述天象进行回推比对(利用DE404软件),皆能够对应。最后考察利簋记录,比对,亦合。随后又讨论了伶州鸠的“岁在鹑火”问题。 也就是说方案一和方案二均得出同一结论。根据这个结论,得出一表: 武王伐纣天象与历史事件一览表
最终得出三个重要日期是: 公元前1045年12月4日——周师出发 公元前1044年1月3日——周师渡过孟津 公元前1044年1月9日——牧野之战 同时得出了:“古籍中关于武王伐纣天象绝大部分记录都是真实的。”(125页)的结论。 可是这样一个结论,却没有被夏商周断代工程所使用。工程选择了公元前1046年作为牧野之战发生年为最优解。对于这个结论,在本书附录中,江晓原有列一表来对比前1046说、前1027说与前1044说的优劣,节录如下(舍去前1027说)。
由此可见,公元前1044年说比前1046年说似乎更加合适,但究竟为何未被采用非常令人费解。(笔者认为,利簋铭文是推断牧野之战的重要材料,即使所有天文现象皆不合,也应该与利簋合,因为没有比利簋铭文更直接的关于牧野之战天象的证据了。而前1046年说居然与利簋铭文也不合,实在令人费解。除非工程领导小组对利簋铭文“岁鼎”二字有不同解释。)附录中又附有江晓原给李学勤的一封信,信中提及工程希望江晓原提供“次优解”,但江氏认为提供“次优解”没有必要,并甚至进一步引起学术界混乱。李学勤如何答复不得而知。 参加过夏商周断代工程的江林昌在其著作《夏商周文明新探》第五章中曾经提到了工程关于武王伐纣的时间的讨论与确定问题。摘录如下: 根据金文历谱及《武成》历日、《国语》“岁在鹑火”等天象,“工程”得武王克商年为公元前1046年。根据武丁时期五次月食推算以及古本《竹书纪年》所记西周积年257年,“工程”得武王克商年为公元前1027年。根据《武成》文献及利簋“岁鼎”为岁星当头解,“工程”得武王克商年为公元前1044年。以上三数也均在考古测年范围内,都有一定的合理性。在综合考虑的前提下,“工程”对公元前1046年方案作出了倾向性选择。(江林昌《夏商周文明新探》 浙江人民出版社 2001年12月版) 根据江林昌的说法,对照江晓原著作我们可以发现,江林昌似乎忽视了江晓原成果中对于现存史料记载的天象的论证。同时江林昌也没有给出“工程”选择前1046年方案的具体原因,只说是“综合考虑的前提下”,更是让人一头雾水。 《夏商周断代工程一九九六——二〇〇〇年阶段成果报告(简本)》(下简称《工程简本》)对前1044年说的评价及对选择前1046年的解释是: 公元前1044年说开创了全新的研究思路,对《国语·周语》伶州鸠语、《荀子·效儒》等文献作了较为顺畅的解释,所得甲子克商之日清晨岁星上中天。此说的问题,在于对金文纪时词语的理解与夏商周断代工程金文历谱研究所得结果难以整合。 根据夏商周断代工程所定金文历谱,成王元年在公元前1042年,目前尚未发现四要素俱全的武王时的青铜器,难以直接推定克商之年。据《尚书·金縢》,武王在“既克商二年”的某日得病,经周公祈告,次日即病愈,又说武王死后,国中发生“管蔡之乱”,但没有提及武王的卒年,后世学者对武王克商后的在位年数有争议,据梁玉绳《史记志疑》统计,有二年、三年、四年、六年、七年、八年等异说。但文献记述武王史事无超过四年以上者。东汉学者郑玄在其《诗谱·豳风谱》中提出,武王克商后在位四年;日本学者泷川资言《史记会注考证》引日本高山寺《周本纪》钞本,武王于克商后二年病,又“后二年而崩”,与郑说相合。取此说则克商年为公元前1046年,天文推算的公元前1046年说与此正相符合。此说与金文历谱衔接较好,与《武成》、《召诰》、《洛诰》历日、《国语·周语》伶州鸠语等也能相容,是三说中符合条件最多的一种,故定为武王克商的首选之年。(世界图书出版社 2000年10月版48-49页) 既然如此,就需要看一看前1046年说的天文依据是什么,因为在前列江晓原对比表中前1046年说的天象大部分是与史料记载不合的。 《工程简本》第46页是这样介绍公元前1046年的推定方法的: 此说从研究《武成》历日入手,逐一排比不同的月相说与克商年的对应关系。又对《国语》伶州鸠语的每月情况进行分析和排列,认为其所述“日月星辰”的位置浑然一体,其中“日在析木”限定了一月朔的日期(11月12日——12月11日)。为谨慎起见,将《武成》一月朔放宽到11月1日——1月31日期间(即建亥、建子、建丑)进行筛选,得到公元前1120——前1020年的100年之间约150组克商的可能日期。再按夏商周断代工程关于金文纪时词语的理解(生霸在望前、死霸在望后)筛选,得到10组密合、15组粗合的日期。最后用“岁在鹑火”作为检验条件筛选,得到3组克商甲子日: ①公元前1093年1月27日; ②公元前1082年1月29日; ③公元前1046年1月20日。 其中第③组为密合,其余为粗合。结合文献、考古信息以及天文条件的符合程度,选出克商日为公元前1046年1月20日。 此一种方法使笔者难以理解的是将《武成》中的一月朔放宽到11月1日——1月31日期间,意思是能将就建亥、建子和建丑三种月建。但问题是,众所周知,周历建子、商历建丑、夏历建寅、秦历建亥。讨论《武成》的月建用周历或商历即可,为什么要讨论建亥呢?另一个问题是,《工程简本》在确定前1046年说的依据还有泷川资言《史记会注考证》引用的日本高山寺《周本纪》钞本。国内《史记》钞本众多,为什么确信日本钞本是正确版本呢? 最后来说说江晓原的问题。笔者认为江的问题在于,对于史料是否进行了细致的甄别。各种史料之中,比较可信的应该是利簋天象、《武成》、《世俘》历日、《牧誓》、《泰誓》历日,但是《国语》中的记述则实在不能作为完全可信的天象,因为《国语》本身很可能就出自刘歆的伪造,如果过于迷信《国语》结论很可能南辕北辙。《淮南子》成书时已经去武王伐纣约900年,其中的关于天象的记述能否可信也需打一个大大的问号。而刘歆的《三统历》,尽管江晓原用了大量篇幅来证明刘歆的《三统历》是很科学的计算方法,但刘歆的时代距离武王伐纣的时代比起《淮南子》更远,尽管也许刘歆的时代比我们掌握更多的第一手材料,但是不得不承认,刘歆时代作伪是稀松平常的事情,而辨伪则肯定没有现在的水平,因此刘歆见到的资料多少为真,多少是伪造也是值得考虑的。更何况刘歆时代的数学计算和天象推演能力则完全与现代无法相比。最后便是关于“生霸”、“死霸”的问题,学术界并无统一意见,李学勤虽然承认江晓原的解释打开了思路,但由于与江晓原的观点相左,因此弃而不用。因此,用天象来讨论武王伐纣的时间虽然是目前比较合适的方法,但是由于对于史料的分析讨论、辨伪及解释的不同必然带来诸多不同意见,这样就几乎不可能得出一个统一的各界都认可的时间,只能通过行政命令强行推广,让我们将一个很可能是错误的时间作为金科玉律实在是有悖于历史研究的原则。当然还有一个吹毛求疵的问题,江晓原使用的若干天文软件是否能正确推演出当时天象? 其实,笔者认为,探讨牧野之战究竟发生在哪一年并无意义。夏商周断代工程其实无非是想向人们证明中华文明确实有五千年之久,但笔者再想,真的证明了又有什么意义呢?中华五千年文明本来就是一个洋教士随便一说,几百年下来就被我们奉为金科玉律,有人提出不同意见就不高兴(说长了还好,说短了就不高兴)。搞什么夏商周工程还是什么文明探源工程无非是想树立民族自信,可是仔细想来,在这些细枝末节的问题上下功夫恰恰是一种民族不自信的表现。“不管你信不信,反正我信了”不就完了。何苦徒增烦恼?不过读了《回天》这本书,我对夏商周断代工程诸多成果中唯一信奉的成果也被击下神坛。 近日,“夏商周断代工程”的负责人李学勤去世,关于夏商周断代的工程的若干公案也都被带去了另一个世界,大师的离世对我们固然是损失,但是换一个角度想,李学勤的去世对于历史研究也许是件好事,总之,人总是要死的,路还得后人一步一步的走。只是,希望多做些有意义的事,不要再浪费宝贵的时间和经费了。 |
|