1.以亥月为正月
周平王东迁以后,随着周天子权威的日益削弱,诸侯各国不但逐渐摆脱了东周王室在政治、经济、军事上的控制,而且纷纷开始编制和颁行自己的历法,不再奉行东周王历。诸侯各国所自行颁布的历法,其区别主要表现在岁首选择的月份不同以及闰月设置的年份不同。大家知道,《春秋》一书为鲁国史官编著的史书,其记事均采用鲁国历法;而《左传》一书虽然为鲁人左丘明所著,但因其史料取自诸侯各国的文献,故书中的记事历日也就与相关各国的历法有关。清代学者王韬正是通过研究对比《春秋》《左传》所记同一史事在历日上的差异,发现了诸侯各国历法所存在的差异。如,他在《春秋朔闰日至考》一文中指出[25] :
余谓观全《经》(指《春秋》)所书晋事,往往与《传》(指《左传》)差两月。有《经》书“冬”而《传》纪之以“秋”者;有《传》言“九月”而经书“十一月”者……盖《经》用周正,《传》则杂采列国之史;晋用夏正,而《传》仍用其旧也。
该文又说:
(鲁)哀(公)十五年“卫世子蒯聩自戚入于卫”,《传》在此年末之闰月,而《经》书十六年“正月己卯”。是卫历、鲁历不同矣。
春秋时期,立国于江汉流域的楚国经过“筚路蓝缕,以启山林”,励精图治的历程,已逐渐强大起来。不甘心于“蛮夷”地位和名声的楚国国君熊通(前740—前690 年在位)在诸侯当中率先自封为王,而楚庄王(前613—前591 年在位)则向周王使臣询问象征天子权力的“九鼎”的重量。这些举动,明白无误地表达了他们欲与周天子平起平坐、称霸天下的雄心和决心。在这种情况下,编制和颁行一部独具特色的历法,也被楚国付诸实际行动。
本节前边曾经提到,睡虎地秦简《日书》“岁”篇中有4 个用数字表示的楚月名:七月、八月、九月、十月。如果按照它们的序数向前逆推(见表5-1),可知其正月为“冬夕”,而与“冬夕”相对应的秦月份为“十月”,即建亥之月。由此可知,这些用数字表示的楚月名应该属于一种以亥月为正月的楚历。那么,这种记于秦始皇时期的秦简《日书》中的建亥楚历,是否确曾在楚国历史上行用过呢?《春秋》《左传》和《史记》中有关楚国历史事件的记载,明确地证实了这个问题。
例如,楚灵王七年(前534 年),楚国派兵灭掉了中原地区的陈国。《春秋·昭公八年》对这件事的记载是:“冬十月壬午,楚师灭陈。”而《左传·昭公八年》的记载却是:“冬十一月壬午,(楚)灭陈。”又如,楚灵王十二年(前529 年),灵王去世。《春秋·昭公十三年》记载此事的时间是:“夏四月,楚公子比……弑其君虔。”而《左传·昭公十三年》记载的时间是:“夏五月……(楚)王缢。”在以上两个关于楚国同一事件的记载中,《左传》都比《春秋》晚一个月。这正是因为《春秋》记事用鲁历,《左传》记事用楚历所引起。本节前面已经指出,从鲁文公在位时(前626—前609 年)起,鲁国历法的岁首便改为以建子为主。这样,如果在同一个月份的计数上楚历的月序数字都比鲁历大“一”,就说明楚历的正月是在建子的鲁历正月的前一个月,也就是以亥月为正月。这一情况,在下面的例子中亦得到反映。楚郏敖四年(前541 年),楚公子围杀死了楚君麇。《春秋·昭公元年》记此事云:“冬十有一月己酉,楚子麇卒。”《左传·昭公元年》的记载是:“十一月己酉,公子围至,入问王疾,缢而弑之。”但《史记·楚世家》却记云:“郏敖四年(鲁昭公元年)……十二月己酉,围入问王疾,绞而杀之。”此例亦是因为《春秋》《左传》的记事俱用建子鲁历,故把事件发生的时间记为“十一月”;而《楚世家》记事用的是建亥楚历,故把时间记为“十二月”。
以上三个实例说明,楚国至迟从春秋中后期的郏敖在位时候起,就已经开始实行以亥月为正月的楚历。这种建亥楚历一直行用到战国末年楚国被强秦灭亡时止。秦始皇时期的睡虎地秦简《日书》之所以要把12个秦月份与12 个楚月份进行对照记载,正是因为其墓葬所在地——云梦睡虎地属于被秦国占领不久的楚国故地,《日书》的编写者为方便包括墓主人在内的当地民众了解建正不同的秦、楚月份的对应关系,才特意做此安排。1986 年,甘肃天水放马滩一座秦始皇时期的墓葬中也出土了一部《日书》[26] 。书中虽然记有与睡虎地《日书》完全相同的表示一年12 个月昼夜长短变化的12 组数字,却没有同时将秦月份与楚月份进行对照。这显然是因为当地与楚地相距较远,受楚文化的影响较小,包括墓主人在内的当地民众并没有这方面的迫切需要。
秦国的《颛顼历》虽然以亥月为岁首,但却不以亥月为正月,而是要行用夏正月序,以寅月为正月。其之所以这样做,应该是出自当时流行的“五行相胜”的宗教理念。正如《史记·秦始皇本纪》所云:
始皇推终始五德之传,以为周得火德,秦代周德,从所不胜。方今水德之始,改年始,朝贺皆自十月朔。
另外秦人认为,上古帝王颛顼是本民族的始祖。《史记·秦本纪》云:“秦之先,帝颛顼之苗裔。”而据五行学说,颛顼是主管冬季的北方水帝。《吕氏春秋·孟冬纪》云:“孟冬之月……其帝颛顼……是月也,以立冬……盛德在水。”这样如果秦历以亥月为正月,按照一年四季与十二月的对应关系,正月应该属于春季和木德,木德就要被火德所胜,而不能胜火;秦代周而王天下不仅不符合“五德始终”之传,反而成了叛逆。秦始皇显然不会去背负这样的罪名。所以,“秦灭六国……颇推五胜,而自以为获水德之瑞,更名河曰‘德水’,而正以十月,色上黑”[27] 。
楚人也自认为是颛顼的后裔。如《史记·楚世家》云:“楚之先祖,出自帝颛顼高阳。”出身于楚国贵族的屈原,在其诗作《离骚》中亦明白无误地宣称自己是“帝高阳之苗裔”。既然楚、秦两族均把颛顼视为本民族的祖先,那么楚国历法实行以亥月为岁首,是否是出自与秦国历法相同的原因呢?大概不是。因为,除了颛顼之外,本书在“恒星观测”章已经指出,楚人还自认为是火神祝融的后裔。如若按照五行相胜学说,楚族到底应该属于水德还是属于火德,就不易确定了。值得注意的是,楚国历法不仅是以亥月为岁首,而且是以亥月为正月,其各月月序与秦《颛顼历》的月序并不相同。做法的不同,体现了思想理念的不同。大家知道,东周王室以及一些诸侯国所颁行的子正历法,是以一年中白昼时间最短、正午日影最长的冬至节作为推算的起点,把冬至节所在的月份作为每年的正月。而楚国历法却要把正月安排在冬至节所在月份(子月)的前一个月。这种做法除了体现出楚国国君在政治上不甘心落于他国之后,欲为天下之先的思想理念,似乎很难再做其他解释。从技术角度上看,它则表明楚国当时已经较精确地掌握了回归年和朔望月长度、置闰周期以及准确推算冬至日的方法,从而能够有把握地做到使每年的正月都被安排在冬至月的前一个月——亥月。
2.闰月的设置与四分历法
至于建亥楚历所采用的置闰周期究竟如何,目前尚未发现直接反映这方面情况的具体史料。清代学者王韬和日本学者新城新藏通过对《春秋》历日的研究统计[28] ,得到了鲁国历法自鲁隐公元年(前722 年)至鲁哀公十九年(前476 年)共247 年间的如下置闰情况(表5-2):
表5-2 春秋时期鲁国历法的置闰情况表
续表
由上表可以看出,在公元前589 年(鲁成公二年)以后,鲁国历法的置闰已经呈现出稳定的“十九年七闰”的规律性。这一情况应该反映了当时诸侯各国历法的一般水平。也就是说,楚国至迟在郏敖四年(前541 年)就已经行用的建亥楚历,很可能同样掌握了“十九年七闰”的置闰规律。
闰月的设置,是为了使每年的各个月份与节气之间保持相对固定的对应关系。因为,回归年的长度约为365 日,朔望月的长度约为29.5日,这样,如果每年只安排12 个月,则12 个月的总日数约为354 日(=29.5×12),比1 回归年约差11 日;3 年以后,与回归年的总日数就将累积相差约33 日,即达1 个多月。此时如果不增设1 个闰月,则夏正正月所对应的立春节就会出现在二月份,再过3 年,立春节又会出现在三月份……各个月份所对应的节气都会像这样逐渐不断地发生变化。为了避免这种情况的发生,妥善的办法就是每隔2 ~3 年增设1 个闰月,使闰年的总月数由12 个变成13 个。“十九年七闰”的闰周,就是要在每一个19 年的阶段中增设7 个闰月,也就是使19 年所安排的总月数为235 个(=12×19+7)。实行这样的闰周,表明当时的历法工作者通过对长期的观测资料的研究分析,发现19 个回归年的总日数与235 个朔望月的总日数是很接近的。虽然实测数据可能并不一定完全相等,但制历者认为,如果把两者的日数视为相等,就会给历谱的推算工作带来很大的方便。因为,有了这样一个闰周,就可以利用当时所测定的回归年和朔望月长度,把从第1 个年份到第19 个年份的历谱较准确地推算出来;而从第20 年开始的以后各年,就可以依次重复前19 年的历谱,不再需要年复一年地逐年推算了。于是,制历者就把这一置闰周期确定下来。在古希腊,一位名叫麦冬(Meton)的天文学家于公元前433 年也发现了十九年七闰的闰周,西方史学界将他的发现称之为“麦冬周”。不过,麦冬的发现比我国已经晚了一个多世纪。
历法实行固定的闰周,只是决定了这部历法将在多少年内设置多少个闰月。而在需要设置闰月的年份,究竟应该把闰月安排在几月份,则是另外一个必须解决的问题。西周金文的历日记录表明,当时肯定使用了年终置闰法。如《牧簋》云:“隹王七年十又三月既生霸甲寅。”《吴虎鼎》云:“隹十又八年十又三月既生霸丙戌。”从出土的大量实物来看,西周很少有把在一年中分属几个月的事件铭于同一件铜器的情况,因此,当时是否使用过年中置闰法,目前还未发现直接的证据。不过,据清人王韬对《春秋》《左传》的研究,鲁国历法除了“闰月常在岁终”以外,直到春秋中晚期的鲁昭公在位时(前541—前510 年),还存在岁中“随时置闰”[29] ,即任何月份都有可能成为闰月的情况。因此,西周历法很可能也存在年中置闰的情况。西周至春秋时期楚人用历的置闰方法,可能与周朝历法和鲁国历法差不多。
到了战国时期,诸侯各国所颁行的历法都应该达到较成熟的“四分历”水平,从而使得“归余于终”,即把闰月固定设置在岁末,成为当时历谱编制的基本法则,不再在岁中随时设置闰月。在这方面,有据可考的实例就是秦《颛顼历》。该历以夏正十月为岁首,把闰月固定置于岁末的九月之后,称之“后九月”。如,睡虎地秦墓出土的竹简《编年纪》中,即记有“(秦)昭王……五十六年后九月,昭[王]死”。因此,战国时期的楚历很可能也是实行的岁终置闰法,只不过其闰月应是设置在亥正十二月的“献马”之后,可能称之“再献马”,也可能称之“后献马”。当然,这一推测还需要地下出土文字资料的印证。“岁终置闰法”一直沿用到西汉《太初历》颁行时,才被改为以无中气之月为闰月的“无中气置闰法”,即闰月不再固定置于岁末。从此以后,历代王朝的历法,乃至现今的农历均采用这种方法安排闰月。春秋中后期的公元前5 世纪前后,所测定的回归年长度是日[30] 。
使用圭表在每天正午时刻观测表影的长短变化,是我国古代确定冬至日期的主要手段。通过统计连续两个冬至日之间的日数,即可得到一个回归年的大致长度。据陈美东先生研究,春秋时期采用这一手段所测定的冬至日期常有2 ~3 日的误差[31] 。不过,如果将长达几十年甚至数百年的观测资料进行统计和平均,就可将单次观测误差的影响大大减小,从而获得一个较为准确的回归年长度。据钱宝琮先生研究,我国在由于这一数值的尾数是所以,采用这一数据的古代历法通常被称作“四分历”。楚国在春秋中期以后所自行编制的建亥楚历,很可能就是一种四分历。
另外,通过对月相圆缺变化周期的观测和统计,我国在殷商时期就已认识到朔望月的长度大约是29.5 日。据近代天文学测算,其精确的平均值应为29.53059 日。由于朔望月的周期是由月亮绕地运动和地球绕日运动共同决定的,其真实的长度往往会在29.2 ~29.9 日之间不断变化,古人要想获得一个较为精确的平均值,也必须通过对长期的观测资料进行统计和平均,才有可能实现。
根据日的回归年长度以及19 年7 闰的闰周,“四分历”的朔望月长度即可通过如下计算获得:
这一数据与近代天文学所测定的朔望月长度29.53059 日相比,仅有0.00026 日(约22 秒)的误差,已十分精确。
3.历元
春秋战国时期,诸侯各国可能都先后编制、颁行了自己的历法,不过归纳起来大概只有六种。正如《汉书·律历志》所说:
三代既没,五伯之末,史官丧纪,畴人子弟分散,或在夷狄。故其所记,有《黄帝》《颛顼》《夏》《殷》《周》及《鲁》历。(www.xing528.com)
这六种先秦历法,史称“古六历”。按此说法,如果以亥月为正月的楚国历法也包含在“古六历”之中,则建亥楚历可能与以亥月为岁首的秦《颛顼历》同属于一种历法,两历只是在月序的安排上有所区别。当然,这还需要地下出土史料的证实。
关于“古六历”,南北朝时期著名的天文历算家祖冲之(429—500年)研究认为“古之六术,并同四分”[32] ,即认为“古六历”的编制原理和基本数据都与“四分历”相同。关于它们的区别,除了本节前边所提到的岁首和置闰年份上的差异以外,还包括历元——起始推算年份的不同。据《后汉书·律历志》记载,“古六历”历元的干支年名分别是:
黄帝造历,元起辛卯;颛顼用乙卯;夏用丙寅;殷用甲寅;周用丁巳;鲁用庚子。
《后汉书·律历志中》还指出了以甲寅年为历元的《殷历》,与以乙卯年为历元的《颛顼历》在历元之年的起算时刻以及日月五星所处的具体位置:
夫甲寅元,天正正月甲子朔旦冬至,七曜之起,始于牛初。乙卯之元,人正己巳朔旦立春,三光聚天庙五度。
文中的“天正”即子正,“人正”即寅正,“朔旦”即日月合朔时刻,“牛初”即牛宿一度,“天庙”即室宿。关于《颛顼历》的历元时刻及天象,东汉蔡邕的《月令》也有记载:
《颛顼历》术曰:“天元正月己巳朔旦立春,俱以日月起于天庙营室五度。”[33]
需要指出的是,先秦时期尚不具备直接观测立春点位置的技术条件,《颛顼历》所确定的立春点所在的营室五度,实际上是以当时所测定的冬至点——牵牛初度为原点推算得来的。因为,包括《颛顼历》在内的先秦“四分历”所使用的二十四节气都是“平气”,即从冬至节开始把一个回归年平均分为24 个节点,每个节点即为一个节气,每相邻两个节气的时间间隔为而立春是冬至之后的第三个节气,它与冬至节的时间间隔约为46 日这样,根据当时关于太阳一天行一度的认识,立春点与冬至点应该相距46°。如果利用《开元占经》所记载的二十八宿“古距度”[34] ,从牵牛初度开始,沿着太阳周年视运动的方向向东推算46°,即可得到立春点的位置在营室5°。
如果考虑到楚国历法是以亥月为正月,该月所对应的节气是小雪和大雪,则小雪节应该是建亥楚历的历元。因小雪是冬至之前的第二个节气,与冬至相距约30.5 日,小雪点就应与冬至点相距30°有余。若利用二十八宿古距度从牵牛初度向西推算,则小雪点的位置应该在箕宿2°。不过,无论在传世文献中,还是在出土文献中,至今均未发现关于建亥楚历的历元及其太阳位置的记载。
4.纪月法
在睡虎地秦简《日书》中所出现的12 个楚月名,在战国楚简中已被广为发现。例如,1965 年在湖北江陵望山一、二号战国楚墓出土的竹简中,发现有(xíng yí)、(cuàn)月(又作月)、献马等3 个文字月名,以及1 个数字月名“八月”[35] ;1987 年在湖北荆门包山二号战国楚墓出土的竹简中,发现有冬(xī)、屈、远、、夏、亯(享)月、夏、八月、九月、十月、月共11 个月名[36] ;1981—1989 年在湖北江陵九店56 号战国楚墓出土的竹简中,除了发现有与包山简完全相同的11 个楚月名外,还有包山简所缺记的月名“献马”[37] 。
以上情况表明,楚简关于楚国文字月名的用字,有许多不同于睡虎地秦简。楚简所记,当为楚人记月的实际用字;秦简所记,则为秦人使用的同音通假字。两种简的用字情况如表5-3 所示。从楚简的用字可以看出,楚人所创造的这些文字月名均与对神灵或祖宗的祭祀活动有关。如冬、屈、远、夏等月名中的“”字,、夏等月名中的“”字,其字形结构中均包含“示”字的成分;月中的“”字的结构中包含“火”字的成分,当与燎祀活动有关;亯月和献马两个月名更是直接表达出牺牲祭献的本义。
表5-3 12 个楚月名在楚简和秦简中的用字对比
据表5-1,战国楚简所使用的9 个文字月名如果最初是应用在以子月为正月的周正历法中,其正月应该是屈,各月的月序应该如表5-4所示。那么,楚人在行用周正历法时所创造的特殊文字月名究竟是只有战国楚简所记录的这9 个,还是已经创造了完整的12 个?如果是后者,那3 个所缺记的文字月名又是如何命名的?如果是前者,那3 个在战国楚简中被分别记为八月、九月、十月的数字月名,在当时是否曾被依次称作七月、八月、九月呢?因资料缺乏,这些问题的答案在目前还不得而知。
表5-4 9 个文字楚月名在子正历法中的月序
5.纪年法
与其他诸侯国的历法相比,楚历不仅在岁首月建和纪月方法上别具一格,其纪年的方法也与众不同。众所周知,以时王的在位年数纪年是殷代和西周以来的传统做法。殷墟卜辞的实例如《粹编》896:“癸丑卜,贞:今岁受禾。引吉。在八月,隹王八祀。”商代金文的实例如《宰椃角》:“隹王二十祀翌又五……”西周金文的实例如《王臣簋》:“隹二年三月初吉庚寅,王格于大室,益公入右王臣。”
东周时期的诸侯各国,则均是以其当时国君的在位年数纪年。如,韩国《春平侯剑》:“二年,相邦春平侯,邦左军工师……执齐。”[38] 魏国《司寇鼎》:“梁廿又七年,大梁司寇□作智,为量,四分。”[39]楚国也曾用这种方式纪年。如,湖北随州曾侯乙墓出土的《楚王酓章钟》:“唯王五十又六祀,楚王酓(熊)章返自西阳,作曾侯乙宗彝……”[40]
以上先秦器物中的这种纪年方式,除了《楚王酓章钟》以外,大都没有提及当时王侯的名称。这样,后人如果不结合其铭文的相关内容,以及器物形制、出土墓葬等各种相关材料进行综合考察,是很难直接判断其纪年的具体时代和王世的。
除了曾以楚王在位年数纪年以外,楚国还采用了一种以事纪年的独特方法,即把某件与楚国有关的军事或者外交方面的大事作为一年的年名。例如,1957 年在安徽寿县出土的《鄂君启错金铜节》记云:
大司马昭阳败晋师于襄陵之岁,夏之月,乙亥之日……[41]
1965 年在湖北江陵望山一号楚墓出土的竹简记云:
齐客张果问王于郢之岁,献马之月,乙酉之日……[42]
1978 年在湖北江陵天星观一号楚墓出土的竹简记云:
秦客公孙问王于郢之岁,十月,丙戌之日……[43]
考虑到这些用于纪年的大事多不能预先推知,而要在事发之后才能使用;若将它们用作事发当年的年名,则在事发之前的日子里,就会出现年名空缺,从而给社会生活造成不便。因此,王红星先生认为,这些用作纪年年名的大事,都是在事发之后第二年才付诸使用的[44] 。例如,被《鄂君启金节》用于纪年的战事,在《史记·楚世家》中已有记载:
(楚)怀王……六年,楚使柱国昭阳将兵而攻魏,破之于襄陵。
由此可知,楚、魏的襄陵之战虽然发生于楚怀王六年(前323 年),但楚国将此事作为年名使用,则应该在楚怀王七年(前322 年)。
综上所述,楚国在春秋战国时期颁行的国家历法采用“三正”之外的亥月为正月,用与楚人祭祀风俗有关的术语替代数字纪月,用与楚国有关的军事、外交大事纪年,这些做法与中原诸侯各国的历法有着明显的差别。它们虽然顺应了楚国当时争雄称霸的政治斗争的需要,但对于民众的农业生产和日常生活来说,使用起来并不方便。由于缺乏实用性,这些别具一格的举措在秦汉以后未能得到继续使用[45] 。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。