商代诸王年代的新推定
2021-06-02金宇飞
金宇飞
(上海材料研究所,上海 200437)
商代的年代问题,至今一直是众说纷纭。2000年,夏商周断代工程专家组公布了夏商周断代工程1996-2000年阶段成果[1],此后,陆续有学者针对该阶段成果又提出了各种不同见解[2-5],以至分歧依旧不止。
因而,结合古文献记载和考古成果,本文拟对各家观点进行梳理,以重新推排出商代诸王的年代。
一、商代始年
商代始年,可以通过商代末年加上商代积年来推算。
商代末年,也就是武王克商之年。三千多年来,历代学者根据各自对文献和西周历法的理解,提出了至少44种武王克商之年的假说,跨度从公元前1130年至公元前1018年[6][7]38-39。近年来,又有不少学者提出各种武王克商之年说,但仍然都是在公元前1130年至公元前1018年的时间段内。
商代积年,历来有多种说法,具体如表1所示。
表1 不同古文献中商代积年记载
由表1可知,商代积年有645年至458年不等。按武王克商之年,商代末年是在前1130年至前1018年期间,则可推算出商代始年,是在前1775年至前1476年之间。
由表1可知,几乎所有的文献都一致认为:商代始年为成汤十八年。
《汉书·律历志》中有“〈殷历〉曰:当成汤方即世用事十三年,十一月甲子朔旦冬至”的记载,这是成汤十三年的一个日期。
利用《寿星天文历》天文日历软件排查,在前1800年至前1450年间,未见有“十一月甲子朔旦冬至”之日,即未见有甲子朔日与冬至同一日。《汉书·律历志》罗列了许多的“朔旦冬至”,但实际上这些“朔旦冬至”并不都是朔日与冬至在同一日,有些日期仅仅只是“朔日”或“冬至日”甚至是张冠李戴,譬如“周文王四十二年十二月丁丑朔旦冬至”[9]。所以,“十一月甲子朔旦冬至”也可能是“十一月甲子朔”或“十一月甲子冬至”,“朔旦冬至”或是《汉书·律历志》的一种习惯性写法。故重新推排出“十一月甲子朔”和“十一月甲子冬至”的全部日期,如表2所示。考虑到周武王十一年庚寅连续使用了2年,导致了周以前的年干支,比周以后和现行的年干支要提早一位[9];而按《汉书·律历志》,殷历的日干支,也比周历和现行的日干支要提早一位[10]。故在推排时兼顾了古历(周以前)和现行阴历(周以后)的日干支和年干支。
表2 十一月甲子朔和甲子冬至(前1785年至前1480年间)
考虑到殷商是以天亮为一日之始[11],所以,在表2中也把冬至时落在后半夜的冬至日,按殷历(古历)算在了前一日。
由表1可知,商代始年有癸亥、庚戌、乙未等说法。由表2可知,成汤十八年(即商代始年)的年干支,有癸亥而未见有庚戌和乙未,应该是不支持商代始年为庚戌和乙未,而是支持商代始年为癸亥。因此,商代始年或为前1679年或为前1619年。而且这两个年份还都满足了古历的年干支和日干支。
再以商代始年为前1679年或前1619年,加上表1所列的商代积年,即可推算出商代末年,如表3所示。
表3 可能的商代末年
由表1可知,商代末年有戊寅、己卯、庚寅等说法。而表3所列的商代末年,有戊寅和庚寅,但无己卯,故不支持商代末年为己卯。
商代末年戊寅说,是依据《汉书·律历志》推算出武王伐纣为己卯年的。而这一推算是符合现行年干支的,所以,就不可以再同时符合古历年干支了。因此,表3所列的符合古历年干支的商代末年戊寅,就得予以剔除。
前文已提到,武王十一年庚寅连续使用了2年,即武王克商之年庚寅,与现行年干支相连,此年即为周代始年,亦为商代末年。则商代末年庚寅,符合现行年干支,所以,就不能再同时符合古历年干支。因此,表3所列的符合古历年干支的商代末年庚寅,也得予以剔除。只有符合现行年干支的商代末年庚寅,才是可取的。这样,商代末年或为前1051年,或为前991年。而前991年,已超出了武王克商年代的各种假说,予以剔除。由此就得到了商代末年的唯一解,为前1051年。这一结果与最近发表的研究结论[9]完全一致。
由此推定,前1684年为成汤十三年,前1680年为成汤伐桀之年,前1679年为成汤十八年,亦即商代始年,按古历为癸亥;至前1051年商亡,按古历为辛卯,按现行年干支为庚寅,商代积年实为629年;如果“自癸亥至庚寅”皆按现行年干支算,则商代积年就会误为628年和508年。
二、商代晚期
殷墟甲骨卜辞和青铜器铭文中,有不少含有纪年的日期,其可以用来推排商代晚期诸王年代。
利用《寿星天文历》天文日历软件,对这些含有纪年的日期进行推排,得到的日历如表4所示。推排时已考虑到殷历的日干支比现行日干支要提早一位。
表4 卜辞和铭文中的日期所对应的日历
续表4 卜辞和铭文中的日期所对应的日历
由表4可得商代晚期诸王的元年分别为:前1163年、前1127年、前1099年、前1061年。按商代末年为前1051年,则可推算出帝辛的年数为11年。
记载有商代诸王年数的古文献有很多,大致有4种,分别以《今本竹书纪年》《太平御览》《资治通鉴外纪》《皇极经世书》为代表,如表5所示。其他诸如《皇王大纪》《资治通鉴前编》《文献通考》《御批历代通鉴辑览》等,与《皇极经世书》完全一致,故以后者为代表。
表5 各种商代晚期诸王的年数
表5列出了5种商代晚期诸王的年数,包括卜辞和铭文所得的一种和古文献的4种,这5种年数差异很大。据年数合计,唯有《今本竹书纪年》与卜辞和铭文的日期最为接近,故值得深究。为此,列出《今本竹书纪年》所记载的商代晚期诸王的元年,如表6所示。
由表6可知,《今本竹书纪年》中的武乙元年和文丁元年,与卜辞和铭文中的日期比较接近,但帝乙元年和帝辛元年则与其相差较大。《今本竹书纪年》中的帝辛年数有53年或52年,这是其独有的,这也是《今本竹书纪年》长期被质疑的原因之一。《今本竹书纪年》:“帝辛,名受。(原注:即纣也,曰受辛。)”按此所注,帝辛即纣。
表6 《今本竹书纪年》的商代晚期诸王元年
《史记·龟策列传》:纣“杀周太子历,囚文王昌”。索隐按:“杀周太子历”文在“囚文王昌”之上,则近是季历。季历不被纣诛,则其言近妄,无容周更别有太子名历也。前人已有解释,此太子历即季历,“太子”二字为“季”字之讹,“季”上部“禾”与“太”字形近。“季历不被纣诛”,那是因为《古本竹书纪年》提到“文丁杀季历”。那么,究竟是文丁杀季历还是纣杀季历?
已有文章推定,文王元年为前1099年[9],则季历应该是死于此前几年里。由表4推得文丁元年为前1126年,帝乙元年为前1099年,前1099年之前完全落在文丁时期,这为文丁杀季历提供了年代依据。由表6可知,《今本竹书纪年》的帝辛元年为前1103年,这为纣杀季历提供了年代依据。这究竟是怎么回事呢?这就有必要探究一下“纣”究竟是指谁了。
有人认为,“纣王”的“纣”是谥号,而有人则认为,“纣王”的“纣”不是谥号[15]。《史记·殷本纪》:“帝乙崩,子辛立,是为帝辛,天下谓之纣。”按《史记》所说,纣不是殷人谓之,而是天下人也就是外人谓之,当然不是谥号。并且,只有《今本竹书纪年》记载帝辛年数有53年或52年。故有学者提出,“52年”这一数字决不可忽视,它很可能是帝乙、帝辛在位年数之和,而错记在帝辛一人身上[16]。顺其思路,继而提出,纣王应该不是谥号,而是外人对商王的称谓,并且不仅是专称帝辛,还包括帝乙,甚至包括文丁。按此思路,则《今本竹书纪年》中的帝辛53年,原本应该是纣王53年,即前1103年应该是纣王元年。后人把纣王冠于帝辛一人头上之后,就改成了帝辛53年,然后又在帝辛元年之前和文丁十一年之间加上了帝乙,形成了修改后的《今本竹书纪年》。按此分析,可复原出修改前的纪年,如表7所示。
表7 商代晚期不同纪年对照
由表7可知,周人所记的武乙元年和文丁元年,要晚于殷王所记,这种情况是有可能发生的,譬如西周时期就发生过诸侯纪年晚于周王纪年1年或几年的情况[17]。
由表7可知,《史记·龟策列传》记载的“纣杀季历,囚文王昌”应该是正确的,这两件事是同时发生的。后来,后人依据《古本竹书纪年》的“文丁杀季历”,把文丁二十三年发生的事误改成了“文丁十一年,王杀季历”和“帝辛二十三年,囚西伯于羑里”。
由表7可知,前1099年为文王元年,前1098年为帝乙二年。《古本竹书纪年》:帝乙“二年,周人伐商”。这表明,前1099年,文王虽然被囚,但周人已立被囚的文王为周人之主,第二年即前1098年,周人就以此为由聚众前往殷都,要求殷王归还周人之主,有的史官就记为“周人伐商”。后经其他诸侯的斡旋,文王于帝乙三年即前1097年被释放了。周人记此年为文丁二十九年,这表明,周人并未收到帝乙的改元通告,依然在使用文丁年号,后来被后人误改成了帝辛二十九年。文王归来后,开始将商王谓之纣,并以季历被杀之年记为纣王元年。
由表7可知,帝辛四十一年西伯昌薨,对应了前1063年为纣王四十一年,这也验证了前1063年为文王三十七年文王陟[9]。
《今本竹书纪年》:帝辛“三十二年,五星聚于房”。利用SkyMap Pro 11天文软件进行排查,纣王三十二年所对应的前1072年内并未发生五星聚于房的天象,但发现,自前1079年11月3日至11月9日期间的凌晨出现有四星聚于房的天象,而与四星在一起的心宿二也相当明亮,这样正好也构成了五星聚于房的天象,如表8和图1所示。前1079年出现的天象,于前1072年被记录,这也是有可能的。即记的人所记的只是人所讲的,而人所讲的其实是前几年发生的事。
表8 前1079年聚于房的五星及其亮度
图1 前1079年11月5日06:09:00五星聚于房天象图注:截图来源SkyMap Pro 11天文软件。
三、商代早期
《史记·殷本纪》:“汤崩,太子太丁未立而卒,于是乃立太丁之弟外丙,是为帝外丙。帝外丙即位三年,崩,立外丙之弟中壬,是为帝中壬。帝中壬即位四年,崩,伊尹乃立太丁之子太甲。”
《汉书·律历志》:“成汤既没,太甲元年。”
成汤之后有没有帝外丙、帝仲壬,有两种说法。一是以《史记·殷本纪》为代表,包括《孟子·万章上》《新唐书·历志三》《古本竹书纪年》《今本竹书纪年》《太平御览》《资治通鉴外纪》等,他们认为,成汤之后为帝外丙、帝仲壬,然后再传至太甲;二是以《汉书·律历志》为代表,包括《河南杞县伊氏家谱》《尚书·商书·伊训》《皇极经世书》《皇王大纪》《资治通鉴前编》《文献通考》《御批历代通鉴辑览》等,他们认为,成汤之后为太甲,其间并不存在帝外丙、帝仲壬。
《汉书·律历志》:“成汤方即世崩没之时,为天子用事十三年矣。”《帝王世纪》第四:汤“为天子十三年”。《太平御览》卷八十三:“韩诗内传曰汤为天子十三年。”不论成汤之后有没有帝外丙、帝仲壬,成汤在天子位十三年,却是共识。
《河南杞县伊氏家谱》:“太甲元祀戊申。”按成汤之后即太甲,而成汤在天子位十三年,则往前推十三年即为乙未,这应该是商代始年为乙未的来历。再以己卯为武王伐纣之年,则乙未至己卯相隔有644年,这应该是商代积年为644年或645年的来历。
《新唐书·历志三》:“成汤伐桀,岁在壬戌。……其明年,汤始建国为元祀。”“太甲二年壬午岁。”这与《今本竹书纪年》一致,即成汤十八年癸亥建国,历帝外丙、帝仲壬,至太甲元年辛巳。癸亥至辛巳相隔有19年,这明显是在十三年上再加上帝外丙二年、帝仲壬四年的结果。《太平御览》卷八十三:“史记曰帝外丙即位二年崩。”《四库全书荟要》收集的《史记》也是“帝外丙即位二年崩”。帝外丙二年或三年,《史记》有不同版本。《孟子·万章上》也是“外丙二年,仲壬四年”。
《汉书·律历志》:“成汤方即世崩没之时,为天子用事十三年矣。商十二月乙丑朔旦冬至,故《书序》曰:成汤既没,太甲元年,使伊尹作《伊训》。《伊训》篇曰:惟太甲元年十有二月乙丑朔,伊尹祀于先王,诞资有牧方明。”《资治通鉴前编》卷四:“今文尚书曰:惟太甲元年十有二月乙丑朔,伊尹祀于先王,诞资有牧乃明。”这与《汉书·律历志》引用的《伊训》相同,都是“十有二月乙丑朔”。
现今版本的《尚书·商书·伊训》:“成汤既没,太甲元年,伊尹作《伊训》《肆命》《徂后》。惟元祀十有二月乙丑,伊尹祠于先王。”《皇王大纪》《资治通鉴前编》等引用《伊训》也是“惟元祀十有二月乙丑”。由此可见,自宋朝以后,《伊训》开始为“十有二月乙丑”,“朔”字不见了。
利用《寿星天文历》天文日历软件排查,在前1775年至前1450年间,无论是按古历还是按现行阴历,皆未见有“十二月乙丑朔旦冬至”之日。显然,“朔旦冬至”就是《汉书·律历志》的一种习惯性写法。而“十有二月乙丑”之日为后人删改,不予考虑。故推排出“十有二月乙丑朔”的全部日期,并与表2的成汤十八年做比较,具体如表9所示。推排时已考虑和仅限于年首正月建丑的日期。
表9 十二月乙丑朔(前1775年至前1450年间)
由表9可知,依据“十有二月乙丑朔”推排出的可能的太甲元年,无论是按现行阴历还是古历,既没有戊申年,也没有辛巳年,而且与成汤十八年即商代始年比较,相隔年数也是既没有13年,也没有19年。如何解释这一情况?既然前已推定商代积年是为629年,所以,无论是依据太甲元年戊申而得到的商代积年644年,还是《今本竹书纪年》的商代积年508年,都是不符合的。因而,出现都不符合的情况不属意外。
《古本竹书纪年》:“外丙胜居亳。”“殷仲壬即位,居亳,其卿士伊尹。”《今本竹书纪年》:“外丙,名胜。元年乙亥,王即位,居亳。命卿士伊尹。二年,陟。”“仲壬,名庸。元年丁丑,王即位,居亳,命卿士伊尹。四年,陟。”“太甲,名至。元年辛巳,王即位,居亳,命卿士伊尹。”
据古今《竹书纪年》记载,外丙、仲壬至太甲初年,都是伊尹为相。又《史记·殷本纪》记载:“伊尹乃立太丁之子太甲。”“帝太甲既立三年,不明,暴虐,不遵汤法,乱德,于是伊尹放之于桐宫。三年,伊尹摄行政当国,以朝诸侯。”《河南杞县伊氏家谱》:“太甲不能用,二祀己酉,因即汤之墓营桐室以训太甲,使居忧焉。”《古本竹书纪年》:“仲壬崩,伊尹放大甲于桐,乃自立也。”由此可见,伊尹不仅为相,而且从伊尹对待太甲的行为来看,伊尹的权限极大,已经大到可以关押商王。因此,有着各自不同史观的史官,就会对这段历史留下各自不同的记录。有的史官如实记为成汤、外丙、仲壬、太甲等,也包括未立而卒的太丁。有的史官认为,外丙、仲壬至太甲初年皆伊尹摄政,等同于伊尹自立,故记为成汤、伊尹、太甲等。就像共和行政时期,虽然当时周厉王尚在,但却不记其王年了,这也是古时史官的一种史观。后来,有后世史官可能认为伊尹不属于商王,就把伊尹删了,这样就变成了成汤之后即太甲,也就造成了商代始年至太甲元年之间的年数不足。这样就可以解释,为什么商代始年至太甲元年,远不止只有13年或19年,因为期间伊尹摄政的年数被删掉了。
根据上述分析可知,不能依据太甲元年来推算出商代始年。因此,商代始年仍然是按前已推定的为前1679年。而与此商代始年最接近、最合理的太甲元年为前1645年。
《尚书·周书·无逸》:“中宗之享国七十有五年,”“高宗之享国五十年有九年,”“祖甲之享国三十有三年。”《帝王世纪》第四“太甲,一名祖甲,享国三十三年”认为,此祖甲是指太甲。而《今本竹书纪年》认为此祖甲是武丁子、祖庚弟。这样就形成了两种说法[18]。
再看《无逸》,周公曰:“文王受命惟中身,厥享国五十年。”“呜呼!自殷王中宗及高宗及祖甲及我周文王”。周公认为,周文王可以和殷王中宗、高宗、祖甲相提并论,或者殷王中只有中宗、高宗、祖甲可以和周文王相提并论。总之,周公提此三位殷王并与周文王并列,表达出了在周公心目中此三位殷王是具有显赫地位的。
《史记·殷本纪》:“帝祖庚崩,弟祖甲立,是为帝甲。帝甲淫乱,殷复衰。”作为武丁子、祖庚弟的祖甲,明显不显赫。若与武乙在位至少有35年相比,33年也并不显赫。因此,周公如果用一位在功勋及在位年数等方面皆不显赫的殷王,与周文王并列,显然无甚道理。
《史记·殷本纪》:帝太甲“称太宗”,帝太戊“称中宗”,帝武丁“为高宗”。这是殷商“三宗”,也是祖甲是指太甲之说的来历。或许殷人并不称太甲为祖甲,只称帝甲为祖甲。或许是周人称太甲为祖甲,或者是周公张冠李戴用错名了。总之,《无逸》中周公所说的“祖甲之享国三十有三年”的祖甲,只有指太宗太甲,周公之言才有意义。
《古本竹书纪年》:“太甲唯得十二年。”自太甲元年即前1645年之后12年即前1634年,而前1634年按古历年干支恰为戊申年。由此可推断出这段历史应该是这样的:自汤崩至太甲初年,是伊尹摄政包括自立时期,直到太甲十二年政归太甲,所以,有的史官就记为成汤、伊尹、太甲等,并以政归太甲之年作为太甲元年以及之后的享国三十三年;而有的史官则记为成汤、外丙、仲壬、太甲等,也分别记录了太甲元年、太甲唯得十二年和享国三十三年。这应该是有两个太甲元年及太甲有12年又有33年的来历。
四、结语
前文已述,商代始年为前1679年,商代末年为前1051年,商代积年共629年。
由表5可知,只有《太平御览》和《资治通鉴外纪》中的商代积年为629年。但《太平御览》所列诸王实际年数合计却要大于646年,《资治通鉴外纪》所列诸王实际年数合计虽然也是629年,但是其商代晚期四王年数合计显然不符合卜辞和铭文的年数。所以,各种古文献所列的商代诸王年数,没有一部是可以完全采信的,所以只能作为参考。
太甲之前和武乙之后的诸王年数,按前文所述。自帝沃丁至帝庚丁的诸王年数,按参考古文献的四种说法即表5所列的其中四部文献来推定,凡三部文献一致的或与《太平御览》和《资治通鉴外纪》这两部文献一致的则采信。这样,帝沃丁、帝沃甲、帝小乙、帝庚丁等,则皆采信《今本竹书纪年》的年数。由此,复原出完整的商代诸王年表,如表10所示。
表10 商代诸王年表
续表10 商代诸王年表