中国科学院自然科学史研究所 首页 研究队伍 > 胡铁珠 > 夏小正星象年代研究

 
夏小正星象年代研究 [1]

                              胡铁珠

                 (中国科学院自然科学史研究所,北京,100010)

    文献与研究回顾

    《夏小正》的经文存在于西汉戴德所编《大戴礼记》的《夏小正传》中,共有四百余字。它按12个月记载了每月的天象、物候、民事等等,可以说是中国现存最早的一部完整的星象物候历。对这部历法,《礼记·礼运》中记有:“孔子曰‘我欲观夏道,是故之杞而不足征也,吾得夏时也’”。郑玄注云:“得夏四时之书也,其书存者有小正”。 《史记·夏本记》亦有:“孔子正夏时,学者多传夏小正云”。后人多据此认为《夏小正》是夏代的历法,也有人认为它成书于战国时代。这篇文章的目的就是通过对《夏小正》星象的计算确定该历可能的使用年代。关于《夏小正》的版本源流等等,因台湾庄雅洲先生已有详尽的研究,本文将不再涉及[1][2]。

   《夏小正》经文中给出的星象共有17个:

 正月:鞠则见。初昏参中,斗柄悬在下。

三月:参则伏。

四月:昴则见。初昏南门正。

五月:参则见。初昏大火中。

六月:初昏斗柄正在上。

七月:汉案户。初昏织女正东乡。斗柄悬在下则旦。

八月:辰则伏。参中则旦。

九月:辰系于日。

十月:初昏南门见。织女正北乡则旦。

    根据星象推算《夏小正》的使用年代,前人已经做过一些工作。其中较具代表性的文章有三篇,作者分别为能田忠亮、赵庄愚、罗树元和黄道芳。  

1  能田忠亮的研究

    能田忠亮的文章[3]在计算时采用了《汉书·律历志》中的二十八宿距度为古代坐标系,并设太阳赤经每月增加30度,以日落后、日出前五刻为昏、旦时刻。全文分为三个部分:

    第一部分为除南门外昏中、见、伏星象的计算,涉及17种星象中的9种。

    “正月,初昏参中”。这一星象与《礼记·月令》一样,见于公元前600年前后。 

   “三月,参则伏”。根据中国古代星宿见伏的条件一般是与太阳相隔15(古)度,设想在《夏小正》的使用年代二十四节气中的三月节(清明)太阳离参宿距星15(古)度,即在毕宿3(古)度,此时可从三月节太阳赤经为15度推算出毕宿距星的赤经为12.04度,按岁差计算相当于公元前2082年。回推正月节太阳应在在壁宿4(古)度,壁宿距星之赤经应为310.93度,相当于公元前2144年。其时参之距星初昏在子午以西20度处,依然在午之方向。

    此后,仍以《汉书·律历志》二十八宿距度和太阳每月在赤道上运行30度,依次推算各月太阳到某宿距星的赤道度,以及到该月观测星的赤道度,先用后者验证昏中、伏、见天象是否发生。再用前者得出该距星的古代赤经,进而推出相应的年代。 以此法推出的各月星象的平均年代为公元前2212年。除一、三月外,对其余各月节太阳到观测星的距离的推算表明《夏小正》所记星象也可见于相应月份。

    这一部分还对“七月,汉案户”作了讨论。

    第二部分是关于斗柄指向的计算。设斗柄第六、七星之联线指向寅之初点为“斗柄悬在下”。取夏都安邑(山西夏县)纬度35、经度115计算,结论为公元前2000年。另两项关于北斗星象的计算所得结果也相同。

    第三部分,南门及织女星的计算。

   “四月,南门正”。以南门二星(Alpha Cen, Epsilon Cen)在南天横成一字,即二星等高计算,认为公元前3000年最为适合,公元前2000年也可。十月初昏南门见有误。

   “七月,初昏织女正东乡”。“十月,织女正北乡则旦”。正东乡是织女三星中两小星开口向东,也就是两星地平经度相同之时。按此思路计算公元前2000年和公元前600年值,公元前600年适合。正北乡则是两小星开口向北。算出公元前600年和公元前2000年相应月份早六时三星之地平经纬值,公元前600年最为适合。

    文章的结论是:《夏小正》星象不晚于公元前2000年,不过参中和织女正东(北)乡公元前600年较合适,所以夏小正从夏到春秋有永年历的存在价值。现今所见《夏小正》的起源可能为公元前600年。 

    能田忠亮的研究很有参考价值,不过这篇文章存在3个问题:(1)在28宿距度和三月节太阳位置确定之后,春分点即已确定。从理论上讲,再以此春分点和28宿中任一距星的赤经求年代都应得出相同的结果。换言之,第一部分的计算年代已由三月参则伏的计算所决定,其它各月的计算都是不独立的。实际计算结果之所以略有不同,是由于初始条件的误差,如二十八宿距度不是观测年代的值等造成。(2)该文的重要假设之一是三月参则伏时太阳到参宿赤经差为15度,这是东汉以前采用的行星见伏条件,东汉以后,赤经差被改成了黄经差([4] ,154页)。由于行星都在黄道附近,因此这一条件代表了行星见伏时到太阳的距离。但《夏小正》中的恒星亮度比行星低,位置也并不都在黄道附近,计算时采用这一条件是有问题的。如在能田忠亮的推算中,除参则伏外,其它伏见星象都无法满足15度的条件。(3)该文对不同年代的星象如何同时使用未作说明。

2  赵庄愚的研究

    赵庄愚“从星位岁差论证几部古典著作的星象年代”[5]一文取参、昴、大火、南门共9条记载作分析。先算出各星在秦汉、周初、夏初的古赤经、古今赤经差,然后算其现代晚八时中天节气日,结果加上与古今赤经差相当之日,得各星古代晚8时中天节气日,再将其折算成各星古代昏中节气日。 此后取3000年前大火昏中为五月节后13天,推得除八月旦参中外,各星象都出现在月初节后,中节前。将其中昏中星象出现的日期与3000年前昏中所在节气日对比,结果基本吻合,证明夏小正应是3000年前西周初年的作品。

    该文的主要问题是以假设的大火昏中日为基点拟合3000年前计算值,从理论上说可用不同的假设为基点拟合更早年代的计算值,所以不能以此证明公元前3000年为上述星象的唯一观测年代。此外赵先生所用方法亦比较粗疏。

3  罗树元和黄道芳的研究

    罗树元和黄道芳两位先生以自制的岁差星盘在《夏小正》一月星象出现在二十四节气之立春的假定下,得出其年代为公元前2000年[6]。

                           计算方法

     考察了前人的工作之后,我们希望以下研究能从天文计算的角度说清楚两个问题:1、《夏小正》中诸星象的年代是否一致。2、《夏小正》只能用于夏、周两朝代中的一个,还是从夏到周都可以使用。

   《夏小正》的星象可以分为南中、见伏合及北斗、织女、银河指向三个部分。由于北斗织女的指向可以有比较大的变化范围,汉代以后给出的15度左右的行星的伏见条件又不适合于恒星,使得后两部分的星象没有一个量化的标准用于定年。因此本文将先以南中星象定出一个年代,再检验其余星象是否与其矛盾,如果不矛盾,则确定所有星象都适用于该年代。

    下面的计算利用了《夏小正》中的阳历成份,不过所得结论也适用于阴阳历。

1  南中星象

  《夏小正》的南中星象包括正月初昏参中、四月初昏南门正、五月初昏大火中和八月参中则旦共四种。在对其做计算前需要先进行如下三项讨论:对应星的考证;观测地纬度w;昏(旦)时刻的规定。

对应星的考证:

    大火星和参星:在昏中星象涉及的三星(座)中,大火及参的证认均无疑义。大火星又名心宿二,在西方称Alpha Sco,它在 1900年的平赤经为16h23m17s(245.82度),平赤纬为-26度13分(-26.217度),星等为1.08 [2] 。 参即二十八宿中的参宿,参宿共有七星,星等在0.3到2.5之间,它们是西方猎户座(Orionis)中的Alpha、 Gammma、 Zeta、 Epsilon、 Delta、 Kappa、Beta。其中央星Epsilon Ori 1900年的赤经为5h31m8s (82.783度),赤纬为-1度16分(-1.267度),星等1.8 。

   南门:《史记·天官书》中有:“亢为疏庙,主疾,其南北两大星为南门”。《晋书·天文志》曰:“南门二星,在库楼南,天之外门也”。对南门二星的证认有四种不同结果,第一种根据清代《仪象考成》得出为:Alpha Cen (1900年赤经:14h32m48s=218.2度, 赤纬:-60度25分=-60.417度。星等-0.33)和Epsilon Cen( 1900年赤经:13m33m33s=203.388度,赤纬:-52度57分=-52.95度。星等2.3)[8]。第二种根据北宋皇佑年间的观测和宋代《新仪象法要》等星图,确定为 Epsilon Cen、 Xi2 Cen(1900年赤经:13h1m4s=195.27度,赤纬:-49度22分=-49.37度。星等4.26)[9]。第三种根据唐《开元占经》所载汉代实测之“石氏星表”将Alpha Cen之外的另一星定为 Xi2 Cen[10]。第四种是荷兰汉学家施古德据清初星象资料所作《星辰考原》中认证的Alpha Cen, Beta Cen( 1900年赤经:13h56m46s = 209.19度。赤纬:-59度53分=-59.88度。星等0.59)[11]。考虑到南门的本意应为朝向南方的门,《史记》又提到南门为两大星,而只有第四种认证结果与这两点相符,因此我们取Alpha Cen、Beta Cen为《夏小正》所指的南门,两星1900年赤道座标的平均值为213.7,-60.15 [3]

观测地纬度:

   《夏小正》的使用应该不出夏、商、周三代的主要活动区域。目前在此范围内比较重要的地点有:山西夏县;河南阳城、登封、偃师、郑州、安阳、商丘;丰、镐都遗址;东都洛邑;以及与杞有关的淮海地区 [4] 。这些地方除安阳纬度为36度多,淮海地区在33度左右外,其余都在34.5度上下,据此我们将w取为34.5度。在本文昏旦南中的计算中,纬度每差1度导致的年代差约为50年 [5]

昏旦时刻:

    对于昏旦时刻的说明最早见于东汉。蔡邕在《月令章句》中说“昏参中,旦尾中,日入后漏三刻为昏,日出前漏三刻为明,星辰可见之时也 [6] ”。唐孔颖达在《毛诗正义》卷5疏中说:“郑作《(仪礼)士昏礼》目录云:‘日入三商为昏’,举全数以言耳。”孔颖达的说法是有根据的,因为在中国古代的推步历法中,首次给出24节气昼漏刻和夜漏刻表的是《东汉四分历》,该表格是刘洪和蔡邕于汉灵帝熹平3年(174年)在洛阳经多年实测而得。它以日入后两刻半为昏,日出前两刻半为旦([13],185-186页),同时给出了二十四节气昏、旦时刻的南中星,从这些南中星包括了二十八宿中的绝大部分星宿可以推知,在当时的观测条件下,日落后或日出前两刻半时已能观测到中等亮度的恒星 [7] ,因此下面的计算将采用这一在中国古代长期被认可的规定 [8]

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             本文昏(旦)中星的计算方法是:在某一节气昏(旦)中的恒星,其赤经应为一确定值,我们设其为j(0)。由于岁差的原因,恒星的赤经是在逐年变化的。对所给恒星依次求出其不同年代的赤经j,当|j-j(0)|<0.5度时,其相应年代即为该星在这一节气昏(旦)中的年代 [9]

(1) 设立春(正月节)太阳黄经在315度,太阳每节气沿黄道运行30度,则各节气太阳黄经等于285+month*30,其中month代表月 [10] 。据此可算出各节气日太阳赤经、赤纬。

2) 已知观测地纬度。设恒星在某节气昏(旦)中,利用该节气太阳赤、经纬求其赤经j(0)。

3)设已知黄赤交角和某恒星的现赤经、现赤纬,求其现黄经、现黄纬(等于古黄纬)。

4)求恒星的古赤经、古赤纬。

     因各星现代赤经纬取的是1900年值,我们设天象观测的年代距1900年的时间为t,所测恒星在观测年的(古)黄经为i。先设一个t值,如1400年(即公元后500年),以岁差公式求出i,再求所测星该年的古赤经j、古赤纬。

5)如|j-j(0)|>0.5,取t=t+50, 重复步骤(4),直至|j-j(0)|<=0.5,此时(t-1900)即为该星在所给节气南中的年代(公元前)。

6)由于昏(旦)中时恒星在南中天,可据当地纬度和该星古赤纬求出其地平高度。

    上述计算由以QBASIC语言设计的程序1完成。计算前需给出所测星1900年赤经、赤纬、观测月份、昏中还是旦中。

2   见、伏、合星象

    见、伏、合星象包括正月鞠则见、三月参则伏、四月昴则见、五月参则见、八月辰则伏、九月辰系于日、十月初昏南门见七种。其中“伏”指的是昏时恒星隐入日光或西方地平线下而不可见,“见”是指旦时恒星重现于东方(或昏时星见东方)。系于日”既星与日在相同的方位。

    在上述星象涉及的恒星中,鞠这一星名不见于除《夏小正》以外的任何早期文献,所指何星颇有争议,因此将放在最后讨论。昴指的是金牛座角度约在一度范围以内、星等均在四等上下的七颗星,其距星17 Tau 1900年赤经3h38m30s (54.63度), 赤纬为23度48分(23.8度),星等3.81。关于辰,《公羊传·昭公十七年》有:“大辰者何?大火也。大火为大辰,伐为大辰,北辰亦为大辰。”《尔雅·释天》有:“大辰,房心尾也。大火谓之大辰。”孔广森在《大戴礼记补注》中说:“辰,  也。说文解字曰:‘   ,房星’,……八月之昏房先心而没,故于此言辰则伏。”同一部历法中即有大火又有辰,说明二者是有区别的,因此这里辰应指房或房心尾三宿。下文计算时,房宿将取其中间星Delta Sco(1900年赤经纬:238.6度,-22.33度。星等2.5) ;心宿取大火;尾宿取中间星 Eta Sco(1900赤经纬:256.25度,-43.1度。星等3.4)。大火,参和南门的坐标见上文1。

    我们在前面已经提到,恒星的见伏不宜采用行星的见伏条件,所以本文将以恒星高度和恒星到太阳距离对这一问题进行讨论。计算方法为:(1’)  同1中(1)、(2)求出太阳赤经、赤纬、j(0)。此时j(0)为昏(旦)时的春分点时角。(2’) 同1中(3)求出恒星现代黄经纬。(3’) 在南中所定年前后每隔50年给定一年代,类同1中(4)求出所测星古黄经,古赤经,古赤纬,据此可求出所测星到太阳的距离和地平高度。 

    将上述计算设为程序2。该计算也需输入四项初始条件,前三项与上一程序相同。第四项给出是晨见还是昏伏。此程序也可用于计算昏见,即昏时恒星出现于东方时到太阳的距离和地平高度。

3  斗柄指向和织女、银河位置

    北斗由大熊座(Uma)Alpha、Beta、Gamma、Delta、Epsilon、Zeta、Eta七星组成。斗柄即其中Zeta(1900年赤经为13h19m54s= 199.98度,赤纬为55度27分=55.45度.星等2.4),Eta(1900年赤经13h43m36s=205.9度,赤纬49度49分=49.82度。星等1.9)两星。

    织女由三颗星组成,此三星分别为Alpha Lyr(1900年赤经为18h33m33s=278.385度,赤纬为38度41分=38.68度,星等0.1)。Epsilon2 Lyr (赤经18h41m2s=282.75度, 赤纬39度34分=39.57度,星等4.5)。Zeta Lyr (赤经18h41m20s=280.33度, 赤纬37度30分=37.5度,星等4.3)。

    汉案户中“汉”指天汉,即银河。

    上述北斗、织女及银河星象都与方向有关,宜以星图进行直观的讨论。本文选用的THESKY软件可以在给出任一纬度及年、月、日和时刻后绘制出相应的星图 [11] 。这里年采用南中星象的计算结果,24节气昏旦时刻根据日落后(日出前)两刻半的规定求出,而24节气各月节在一年中的日期,由于THESKY软件采用公历,即1582年10月之前用儒略历,之后用格里历,因此在绘制1582年10月之前的星图时,需从《新编中国三千年历日检索表》[14]查出观测年格里历与儒略历的日期差,与表1第2栏的格里历日期相加,得出所需的儒略历日期 [12]

           表1   二十四节气在格里历中所对应的日期和相应的昏旦时刻表 [13]

二十四节气                 

      日期

       昏时

        旦时

正月节(立春)

   2.4

17h54m

6h06m

正月中(雨水)

   2.19

18h08m

5h52m

二月节(惊蛰)

   3.6

18h24m

5h36m

二月中(春分)

   3.21

18h40m

5h20m

三月节(清明)

   4.5

18h56m

5h04m

三月中(谷雨)

   4.20

19h12m

4h48m

四月节(立夏)

   5.6

19h27m

4h33m

四月中(小满)

   5.21

19h39m

4h21m

五月节(芒种)

   6.6

19h47m

4h13m

五月中(夏至)

   6.21

19h50m

4h10m

六月节(小暑)

   7.7

19h47m

4h13m

六月中(大暑)

   7.23

19h39m

4h21m

七月节(立秋)

   8.8

19h27m

4h33m

七月中(处暑)

   8.23

19h12m

4h48m

八月节(白露)

   9.8

18h56m

5h04m

八月中(秋分)

   9.23

18h40m

5h20m

九月节(寒露)

   10.8

18h24m

5h36m

九月中(霜降)

   10.23

18h08m

5h52m

十月节(立冬)

   11.7

17h54m

6h06m

十月中(小雪)

   11.22

17h42m

6h18m

十一月节(大雪)

   12.7

17h34m

6h26m

十一月中(冬至)

   12.22

17h31m

6h29m

十二月节(小寒)

   1.5

17h34m

6h26m

十二月中(大寒)

   1.20

17h42m

6h18m

   上述方法也适用于绘制南中、伏、见等星象。               

                               三   计算结果

1  南中

    南中的计算首先从五月大火昏中开始,《夏小正》记该月“时有养日”,即一年中最长的白日,也就是夏至,这是求《夏小正》星象年代的关键条件 [14] 。 我们不妨先假设大火昏中与夏至(二十四节气之五月中)在同一日,由此得到年代为公元前750年,昏中时地平高度为39.3度。

    其次计算南门,其中点于四月中昏中的年代为公元前900年,昏中高度为10.2度(图1,点击放大 [15]

 

                                

图1  四月初昏南门正

 

 

     参中央星 Episilon Ori正月中昏中的年代为公元后450年,昏中高度为52度。

  八月中旦参中的年代为公元后1700年。

    上面四项计算,大火、南门昏中的年代比较接近,参的两个星象则与其相差较远,特别是八月旦参中偏差甚大,有可能是原文有误。关于这一星象,目前有两种值得重视的观点,一种认为是七月之错简[15][16],另一种认为:“参当为   ,七星也,篆书      形相似。月中之气,日躔大火之中,日出加卯位之中,故七星中也”[17]。七星即星宿,其中央大星Alpha Hya 1900年赤经为140.67度,赤纬为-8.23度,星等2.2。按程序1计算,8月中Alpha Hya旦中的年代为公元前2850年,与大火、南门昏中年代依然相差很多。而七月有“斗柄悬在下则旦”,考虑到与“正月……初昏参中,斗柄悬在下”的对应关系,该月必有旦参中之星象。其星象年代也与大火,南门昏中年代相近,为公元前1200年。上面两种说法中,第二种从校勘的角度讲十分理想,但误差过大 [16] 。第二种因为七月旦参中是必然发生之星象,所以可能性较大。

    正月参昏中年代的偏差曾被认为由观测年代的不同造成。实际上它也可以被解释为因与其它星象相隔不为整数月而产生。从距火昏中约1200年推知,参昏中与火昏中大约相隔4个月零12天。在将最显著的星象取在同一部历法中时,出现这样的偏差是完全可能的。此外根据计算,一般恒星昏中和旦中相隔都不是整数月,这与参昏中和参旦中的情形一致。

    以上讨论说明,南中的四个星象可用于同一时代。下文将按其中最无疑义的大火、南门昏中年代的平均值公元前800年讨论另外两部分星象。

  2  伏、见、合

    与“见”有关的星象可分为两种,一种是晨见东方,一种是昏见东方。在《夏小正》的四项称为“见”的星象中,“鞠则见”、“参则见”和“昴则见”的表述方式一致,经分析可知参见和昴见指的都是晨见,因此鞠亦应为晨见。现在有问题的是南门。十月南门见指明是在初昏,而此时南门在地平以下,对此人们提出了各种假设,有人认为这里南门应是晨见而不是昏见,有人提出此为八月之错简,还有一种观点认为该句应为“十月初昏南门伏”[3]。由于八月不论昏还是旦,南门都在地平之下,南门伏发生在五月,所以第一种假设应是最合理的,原书中“初昏”二字当为衍文。这样《夏小正》中全部四个关于“见”的星象都应为晨见,即“偕日升”。下面是据程序2得到的计算结果。

                       表2  公元前800年伏、见、合计算表

 

二十四节气之月中

  s        h       i-r

三月参则伏

28.2

-1.6

14.4

四月昴则见

39.9

19.7

-39.8

五月参则见

50.5

6.7

-45.6

八月辰则伏(房)

23.6

2.7

23.5

八月辰则伏(心)

31

4.3

30.7

八月辰则伏(尾)

45.4

-3.8

41.7

九月辰系于日(房)

S=7, h=-13.5, -350年离日最近为1.9度

九月辰系于日(心)

S=4.6,h=-11.4, -850年离日最近为4.5度

九月辰系于日(尾)

S=23.1,h=-17.3, -1650年离日最近为20.1度

十月南门见

57.4

7.3

-42.3

    表2中列出了公元前800年各伏、见、合星象在二十四节气中的日星距离s、恒星地平高度h和恒星与太阳的黄经差i-r。首先看三月参则伏,月中时星座中部已在地平之下,整个星座当不可见。

    五月中时,参之中点升到地平上6.7度,此时整个星座已大部可见(见图2,点击放大 [17]

 

图2 五月参则见

                                  

 

    八月房心尾三宿至月中时均开始或已经沉入地下而不可见。

    通过对房、心、尾分别计算,可以看出不论以心宿为标志还是取三宿之平均值,公元前八、九百年的九月中均是房心尾离日最近的月份。《夏小正》九月经文中有“内火”之句,指的就是大火靠近太阳时举行的一种仪式 [18] 。这个结果与辰为房也不矛盾,因为九月中房宿到太阳的距离远小于八月或十月中。

    十月月中时南门中点升至7.3度,应已可见。参星从昏中到晨见相隔四个月,南门隔了六个月,这是因为南门二星靠近南极,在地平以下的时间比较多的缘故。

    现在来看四月昴则见。昴见与参和南门见不同的是,月中地平高度达到约20度,这一点可以得到合理的解释。因为在伏、见所涉及的星宿中,昴是最为暗弱的一个,它晨见时到太阳的距离应大于其它星宿。虽然表2中其它星宿的伏、见主要都是由地平高度决定,使得我们无从直接得到晨见星象的距离标准,但从房、心宿的昏伏距离可以推测,2等左右星可见的距离上限大约为30度,3、4等星的上限则应大于此值。这与上述计算结果是相符的。

    以上计算表明,表中六个伏见星象都与南中星象年代一致。在此基础上我们可以分析鞠星: 由于鞠星应在正月中晨见,而按岁差计算,公元前800年时春分点约在现春分点以东39度处,此时在雨水(正月中太阳所在位置)以西几十度又曾被前人选为鞠星的有虚、臼[19]、天钱[20]、天钩、匏瓜[16]、禄[21]、北落师门[22]和危室二宿[23] [19] 。经程序2计算,北落师门公元前800年正月中在地平之下,天钩前几月旦时即已可见 [20] 。其余几星宿中,虚最有可能是鞠星,因为 (1) 除危室二宿外,虚在几星宿中最亮。(2) 虚是尧典四中星之一,还是二十八宿之一宿和十二次中玄枵的代表星座[25],说明它是传统的标志星。(3) 选虚宿二星中地平纬度低而且亮的Beta Aqr(1900年赤经纬:321.58度,-6.02度。星等3.1) [21] 计算,得公元前800年正月中s=46.3, h=25.6,i-r=-45.7。虚宿星等与昴相差不多,两结果比较表明虚宿在正月中之前约一周可见于东方,与正月参昏中时间相近。(4) 虚、鞠音相近 [22]

    从表2的i-r栏可以看出,对《夏小正》星象而言,伏、见条件是无法以经度差值给出的。

3  北斗与织女指向

    我们用THESKY软件给出了六幅图,用于验证公元前800年各月的星座指向。第1幅是2月27日18h08m即正月中初昏的天象。显示斗柄悬在下(图3,点击放大),如果时间再向前一、两周,此图会有更好的效果。第2幅是7月31日19h39m即6月中初昏的天象。显示斗柄正在上。该图并不十分理想,只有当时间再提前约两周才可称斗柄正在上之图形,但因为与参昏中的提前一致,这一偏差是可以允许的。第3幅图是8月31日4h48m即7月中旦时的天象,显示斗柄悬在下。第4幅图是8月31日19h12m即7月中初昏面向正北及天顶的星象,图中织女三星靠近天顶,两小星开口向东,显示织女正东乡(图4)。第5幅是11月30日6h18m即10月中旦时面北偏东的星象,图中织女晨见于东北方,两小星开口略偏北。第6幅是8月31日19h12m即7月中初昏所见天顶的星象,显示“汉案户”。“案户”,《夏小正传》曰:“直户也,言正南北也。”朱骏声《夏小正补传》则将“案”释为中而且直。该图表明银河从东北到西南横跨天顶,这是一年中首次初昏时可见银河通过天顶(图5)。

 

 

 
图3   正月初昏斗柄悬在下
图4 七月初昏织女正东乡
图5  七月汉案户

                                       
                        

                              

    至此我们已经证明了《夏小正》中全部星象的年代是一致的,它们均适宜在公元前800年前后使用。不过这一结论是在夏至与大火昏中在同一天的条件下得出的。实际上“时有养日”的测定与昏旦星象不同,它们并不一定在同一天,所以我们即可以设大火昏中在夏至日,也可设其在夏至前或后。设火昏中在夏至后,所得年代晚于公元前800年。而据前述文献和《礼记·月令》分析,《夏小正》在公元前800年后并没有使用很久。设火昏中在夏至前,则所得年代早于公元前800年,由此可以得出《夏小正》起源的上限。为使夏至落在(或大部分落在)五月,这一向前的天数以取火昏中早于夏至的天数小于15日,即各星象的发生不早于各月节为宜。经计算,恒星在各月节的昏中年代为:正月昏参中公元前1050年;四月初昏南门中公元前2500年 (高18.7度);五月大火中公元前2050年;七月旦参中公元前2700 年。如仍取大火与南门的平均年代(公元前2250年)检验其它星象,则伏、见星象出现于各月节时的高度分别为:正月鞠则见30.6度。三月参则伏-4.8度。四月昴则见20.6度。五月参则见4.7度。十月南门见14.4度。八月辰则伏、九月辰系于日及各星座指向也基本相符。

    上述结果表明,《夏小正》中的星象大约在夏代时出现于24节气之各个月初,此后这些星象沿24节气向后移动,在周代时出现于24节气之各个月中 [23] 。因此从天象的角度来看,它应是一部从夏到周均可使用的历法。以往的研究之所以有两种结论,关键在于是将各星象设在24节气的月初还是月中,而单独作出任一种假设应该说都是不够全面的。如果《夏小正》确实起源于夏代,目前这个结论也可以解释它为什么会流传至周代 [24]

    从第二节对纬度和昏旦时刻等等的讨论可以看出,采用不同的假设,本节最终的计算结果会有差异,比如类同于古代的昏旦时刻,现代天文学也有关于晨昏蒙影的规定,它以太阳在地平下6度为民用昏影终或民用晨光始 [25] ,此时天空中较亮的恒星会逐渐显现或消失。考察《夏小正》所用各星,可以发现其最主要的参、北斗及大火几个星座多为1、2等亮星并具有醒目的形状 [26] ,在古代的天气条件下,应该可以于太阳在地平下6度时观测到,所以在讨论《夏小正》的起源时,可以考虑采用现代民用蒙影的条件计算,所得该历的使用范围也会因此向前移动约150年。

    虽然由于初始条件的不确定性,《夏小正》使用的年代范围会有一定的误差,但只要各项条件在有根据的、合理的范围内变动,这一误差应不出正负两、三百年,本文的最终结论也不会因此而受到影响。

                                讨论

    上节证明了《夏小正》是一部从夏代到周代都可以使用的历法。但这只是天文计算的结果。天文计算只能提供一种可能性,要确定《夏小正》的真正使用年代,还需要有其它证据。由于《诗经》中已出现参、昴、织女、北斗、火等星名,《豳风·七月》中的“七月流火”又与《夏小正》七月星象相符,其中物侯也与《夏小正》有不少一致之处[26],加上上面提到的在文献中首次出现的年代,《夏小正》曾在西周或春秋时使用应该说是没有疑义的。关键在于《夏小正》是否确实起源于夏代,这一问题由于夏代文献的缺乏判断起来十分困难,我们只能寻找一些后世文献来进行间接的验证。目前可以见到的与此相关的材料有:

  1、《左传·昭公元年》中说: “昔高辛氏有二子,伯曰阏伯,季曰实沈。居于旷林,不相能也,日寻干戈,以相争讨。后帝不臧,迁阏伯于商丘,主辰,商人是因,故辰为商星。迁实沈于大夏,主参,唐人是因,以服事夏商,其季世曰唐叔虞……故参为晋星。”这里辰指大火星。近十几年来, 以观测大火纪时的“火历”的存在已被越来越多的研究殷代历法的学者所认同 [27] ,由此推知《左传》中的故事确有一定根据,其中提到的主参的夏历则有可能与以初昏参中为岁首的《夏小正》相关 [28]

  2、根据上文分析,十二月历的使用和对一些重要星宿的认识是《夏小正》起源于夏代的两个必要条件。《尚书·胤征》中有一段文字据认为是世界上最早的一次日食记载,文中描写的事件发生于“季秋”。如果这次日食得到确认,则说明夏代可能已有十二月历。此外,本世纪八十年代在河南濮阳一座距今6000年的古墓中出土了一幅用蚌壳和人骨拼成的龙虎图,有学者提出龙虎图旁还有一幅北斗图像,该图的存在能够确定龙虎图象的星象学意义[34]。由此推测古人对大火(龙)、参(虎)和北斗的认识可能是很早的。

  3、李学勤先生曾利用考古学包括古文字学的新成果讨论了《夏小正》经传中的若干问题,指出其中一些物候在商代即已存在,有的还可从夏墟的考古发掘中得到印证,说明《夏小正》确有其古老的渊源[35]。

上面我们给出了一些可能对求证《夏小正》产生年代有帮助的材料,但这些材料还远远不够,而且有的材料本身还存在争议,因此解决这个问题还需假以时日。

    概言之,我们认为《夏小正》中各星象的年代是一致的,该历曾被用于周代,其起源最早可以推至夏代,但确认后者仍然需要更多的证据。

                                参考文献

 庄雅洲.夏小正研究(博士论文).台北:台湾师范大学,1981。

2         庄雅洲.夏小正析论.台湾:文史哲出版社,1985。

3         能田忠亮.夏小正星象论.中日文化,1941,第2卷第9、10期。  

4         中国天文学史整理研究小组.中国天文学史.北京:科学出版社,1982。  

5         赵庄愚.从星位岁差论证几部古典著作的星象年代及成书年代.科技史文集,第10辑,上海科学技术出版社,1983。

6         罗树元、黄道芳.论《夏小正》的天象和年代.湖南师范大学自然科学学报,1985年,第4期。

7         Yele University Observatory Catalogue of Bright Stars, New Haven,Connecticut,1964.

8         伊世同.中国恒星对照图表.北京:科学出版社,1981年。

9         潘鼐.中国恒星观测史.上海:学林出版社,1989年。

10      孙小淳.汉代石氏星官研究.自然科学史研究,1994年,第13卷第2期。

11      Uranographie Chinoise,1875.

12      夏纬瑛、范楚玉.《夏小正》及其在农业史上的意义.中国史研究,1979年第3期。

13      陈美东.古历新探.辽宁教育出版社,1995。

14      徐锡祺. 新编中国三千年历日检索表.北京: 人民教育出版社,1992年。

15      孔广森.《大戴礼记》补注.同治十三年淮南书局重刻本。

16      朱骏声.《夏小正》补传.清刻本。

17      顾凤藻.《夏小正》经传集解.丛书集成初编,1936。

18      庞朴.火历钩沉.中国文化,1989年创刊号。

19      洪震煊.《夏小正》疏义.皇清经解,道光本。

20      雷学淇.介   经说.丛书集成初编。

21      王聘珍.《大戴礼记》解诂.丛书集成续编。

22      王引之.经义述闻.清嘉庆刻本。

23      金履祥.《夏小正》注.清乾隆刻本。

24      中国大百科全书 天文卷.北京:中国大百科全书出版社,1980年。

25      尔雅 释天.十三经注疏.中华书局影印本,1980年版。

26      刘金沂.《诗经》中的天文学知识.科技史文集,第10辑。

27      常正光.殷历考辨.古文字研究,第6辑.北京:中华书局,1981。

28      温少峰、袁庭栋.殷墟卜词研究.四川省社会科学出版社,1983。

29      郑慧生.“殷正建未”说.史学月刊,1984年第1期。

30      冯时.殷历岁首研究.考古学报,1990年第1期。

31      王晖.殷历岁首新论.陕西省师大学报,1994年第2期。

32      常玉芝.殷商历法研究.吉林文史出版社,1998。

33      张培瑜.甲骨文日月食与商王武丁的年代.文物,1999年第3期。

34      冯时.中国早期星象图研究.自然科学史研究,1990,9(2)。

35      李学勤.《夏小正》新证.农史研究,第8辑,北京:农业出版社,1989年。

               (自然科学史研究,2000年第3期)                            



[1] 笔者在写作前后曾得到孙小淳博士的很大帮助,刘次沅先生对本文的修改提出了宝贵意见,在此深表感谢。

[2] 本文恒星经纬度取自[7]。星等参考了美国Software Bisque公司的THESKY星图软件,下同。

[3] 孙小淳指出:由于岁差导致的天北极的移动,南门二星的地平高度逐渐降低而难以观测,这可以解释后来南门星的变化。

[4] 有学者从物候研究的角度提出《夏小正》产生于淮海地区,即杞国内迁之前国土所在地[12]。

[5] 昏中时春分到秋分纬度高所得年代晚,低则早。秋分到春分反之。

[6] 中国古代把一天均分为100刻。

[7] 潘鼐先生在[9]第15页中举了一个80年代的观测实例,并给出了相近的结论。

[8] 如果认为不能肯定《夏小正》创立之初百刻制既已存在,可采用太阳在地平下8度进行计算,所得结果基本相同。

[9] 0.5度引起的误差在几十年之内.

[10] 24节气各月节气和中气。如立春为1,夏至为5.5。

[11] 有研究者指出该软件地平坐标数据有误。但经核对,其恒星图形基本准确。

[12] 例如公元前800年时,格里历日期加8为儒略历日期。该年立春日的儒略历日期为2月4日加8日,即2月12日。

[13] 昏时以18h加与日落时太阳与地平西点的赤经差相应的时间再加与2.5刻相应的时间得出,旦时同理。此表略去了时差。

[14] 《夏小正》记十月“时有养夜”,也即冬至。因为在12月历中夏至与冬至相隔应为6个月,两记载必有一误。如改夏至为四月,则所得星象年代全部在公元后,与文献不符。所以本文设“时有养夜”在11月,即《夏小正》为寅正。

[15] 该图为公元前900年5月29日19h39m正南方之星象。

[16] 事实上这应是9月的星象。

[17] 此图为公元前800年6月29日4h10m正东之星象。

[18] 参见庞朴:“火历钩沉”[18]。《周礼·夏官·司   》有:“季春出火,民咸从之。季秋内火,民亦如之。”《礼经会元·火禁》条有:“季秋内火,非令民内火也。火星昏伏,司   以礼而内之,犹和叔寅饯纳日也”。

[19] 庄雅洲先生在其两部著作中对相关材料做了详细的收录(见[1][2])。

[20] 各星的证认可参考[24]“中国星名”和[9]第228-237页。两书证认结果虽有不同,但对本文计算影响不大。

[21] 虚宿另一星为Alpha Equ,座标为317.71,4.83。星等4.1。

[22] 清宋书升《夏小正》释义从文字学角度对此做了考证,参见[1]P195-196。

[23] 这是对多数星象而言,少数星象,如正月初昏参中则略偏早。

[24] 以上分析使用了夏至这一条件,但目前还不能确知殷商以前是否已有夏至的概念,不过即便没有,我们也不能排除《夏小正》曾用于夏的可能性,因为它的起源在不受夏至限制的情况下可以向前推得更远,其物候则有可能随星象的移动和地点的变化而调整。

[25] 这一时间大约相当于日落后两刻。

[26] 《夏小正》最初可能仅有关键的几组亮星,后经发展完善成为我们目前所见的形式。

[27] 参见[18]、[27]—[32]。庞朴先生最早提出中国古代曾行用过火历,此后一些研究者将其与殷代历法相联系,提出了火(殷)历正月在夏历的3、4、5、6、10月几种说法。以火纪时,火昏见(夏历3月)、旦见(夏历10月)、昏中(夏历5月)等都可以作为正月, 再考虑到气象和农事卜辞所反映的季节,则温少峰、袁庭栋两位先生提出的夏历3月说和王晖、常玉芝两位先生证明的夏历5月说最为引人注意(最近张培瑜先生计算了殷商时期的5次月食,8月乙酉夕月食被确定发生于公元前1182年11月25日[见33]。由此回推,该历1月与夏历3月相应,这用3月说和5月说都可以解释)。 不过不论正月在夏历几月,我们注意到上述研究均肯定了殷商时火历的存在。

[28] 参见[18]。


Copyright © 2001 中国科学院自然科学史研究所 All Rights Reserved