在我国的古代文化遗产中,历法研究是取得成就很大的领域。由于我国的天文学比较发达,历法的测量和制定达到了很高的水平,各个时代对历法的研究和实行都十分重视。据统计,从先秦到清代,通行的主要历法就有102种。历法是计量时间的计时系统,今天通行的年、月、日、时、分、秒等,便是它的单位。它与长度和重量单位一样,都是人为地规定出来的。比如我们现在通行的计年、月的公历和农历,因为计时单位和对象的不同,而有不同的方法。有反映春夏秋冬四季变化规律的回归年(即太阳年),有反映月相圆缺周期变化的朔望月和反映昼夜变化规律的太阳日。这三者组成一个反映年、月、日变化的有机体系。三种计时单位并用的称为阴阳历(俗称农历),只考虑回归年变化的称为阳历(即今公历),固定十二个朔望月为一年的称为阴历。
我国古代的历法研究和制定,具有非常悠久的历史。在先秦时期,就有黄帝历、颛顼历、夏历、殷历、周历、鲁历,史称“六历”。其中的夏历,据传在夏代(即前17世纪)就使用了,并且一直用到现在,1970年以后改名为农历。颛顼历,在秦代和西汉初期曾使用过。《汉书·艺文志》中就记有《颛顼历》二十卷、《颛顼五星历》十四卷。虽未注明作者,但确信是战国时的著作。夏历的正月就是现在农历的正月,殷历正月即今之农历十二月,周历正月即今之农历十一月,秦历正月即今之农历十月。汉代立国以后,没有专门制定历法。汉高祖刘邦采纳了著名律历家张苍(前256—前152年)的意见,采用了与秦代相同的颛顼历。1972年山东临沂银雀山出土的汉代墓葬中,就有汉武帝元光元年的历谱,这是我国迄今发现的最早的完整历谱。依照推算,采用的是颛顼历,与秦朝使用的历法相同,以十月为岁首,可见史书的记载是可信的。颛顼历规定一回归年为 日,一朔望月为 日。颛顼历在周朝末年已经开始制订,它是秦朝统一以后第一个颁行全国的历法。在我国西南少数民族傣族、彝族以及越南、泰国、柬埔寨等地曾被使用过,当地称为佛历。它是以秦孝公元年(前371年)为纪元起点,可见影响是很大的。随着科学的发展,人们对历法提出了更加精确的要求,秦、汉使用的颛顼历已经不能适应,它所规定的气朔落后于实际的天象,比如它指出的日食多发生在晦日,已经和天象不合,因此必须制定出一套新的历法,来适应这个要求。于是在实行了120年之后,到汉武帝太初元年(前104年),由著名的天文学家落下闳、邓平、唐都等进行改历,这就是太初历。改历之事,距离淮南王刘安之死已经18年了。
年,《说文》:“谷孰也。”本意是谷子成熟了。《尔雅·释天》中说:“夏曰岁,商曰祀,周曰年,唐虞曰载。”晋代著名学者郭璞(276—324)注中说:“年,取禾一熟。”原来,现在我们叫作“年”,是沿袭了周朝的称呼。周朝以前,称呼是各不相同的。
在我国太初改历之前,即从上古一直到秦汉,流行的历法,尽管名称不同,其中包括古六历,都是使用的“四分历”。所谓“四分”,就是指一年的时间是 日,因为岁余是“四分之一”日,所以称为“四分历”。《淮南子·天文训》中对四分历(也就是“颛顼历”)是这样记述的:
紫宫执斗而左旋,日行一度,以周于天。日冬至峻狼之山;日移一度,月行百八十二度八分度之五,而夏至牛首之山;反覆三百六十五度四分度之一而成一岁。
天一元始,正月建寅,日月俱入营室五度。天一以始建,七十六岁,日月复以正月入营室五度,无馀分,名曰一纪。凡二十纪,一千五百二十岁大终,日、月、星辰复始甲寅元。日行一度,而岁有奇四分度之一。故(曰)[四]岁而积千四百六十一日,而复合故舍,八十岁而复故(曰)[日]。
这里,前面讲的是北斗向左开始运行的规律,指出了冬至—夏至—冬至的运行一年的度数,意思是:
紫宫执掌北斗斗柄,向左面旋转,每天行进一度,每年在天上轮回一周。
在冬至之时,斗柄指向峻狼之山。每天移行一度,共行 度,正好是夏至之日,斗柄指向牛首之山。
从夏至再到冬至,是 度,便是一岁的时间。
而后面讲的是纪元的开始,以及一纪、一终、三终。意思是:
纪年开始的时候,以寅月为岁首,太阳、月亮恰好在营室五度的位置。
从太一开始确定纪元之时,过了76年,太阳、月亮又在正月份进入营室五度的位置,没有剩余的小分,称作一纪。
共运行20纪,1520岁叫一终。
到三终时,日、月、星、辰又开始回到甲寅年正月朔旦的时刻。
斗柄每日行进一度,而每年有零数 度,因此四年便是整数1461天,可以回到原来的宿位,80岁后又可以回到原来的日子。
再具体地说,纪元的年、月、日、时,从什么时候开始呢?“四分历”的建元,是选择在汉文帝后元三年(前161年)十一月夜半朔旦冬至为历元之始,这时的日、月的位置,是在北方玄武七宿的第六宿(即室宿、定宿)五度的位置。隔了76年,日、月又回到营室五度的位置,称为一纪。二十纪为1520岁,叫大终。如果用太阴运行的办法来计算,《淮南子·天文训》是这样说的:
太阴元始,建于甲寅,一终而建甲戌,二终而建甲午,三终而复得甲寅之元。
76年的周期为“一纪”,1520年的周期叫“一终”(也即大终),“二终”是3040年,“三终”是4560年。
月,《说文》:“阙也。太阴之精,象形。”甲骨文、金文中月亮多像半月之形,表示“月”有上弦和下弦。古人认为,日为阳精,月为阴精。
月球绕地球运行的规律,在《淮南子·天文训》中是这样记述的:
故日十而辰十二。月,日行十三度七十六分度之二十八,二十九日九百四十分日之四百九十九而为月。而以十二月为岁,岁有馀十日九百四十分日之八百二十七,故十九岁而七闰。
《淮南子·天文训》中给出的月球平均公转周期,即月值是27.322日,这是目前所知道的恒星月值最早的记载。现代测出的恒星月值为27.32166日。由此可见,《淮南子》中的测算,已经达到很高的精密度。
那么,上面这些数据之间有何联系呢?下面就是“四分历”的全部演算的数据:
这就是说,在19年之后,节气又会和今年发生在同一个日子里,但不在同一个时刻。如果再将这个数乘以4,就得到:
4×19(年)=76(年)=4×6939.75(日)=27759(日)(一纪)
也就是说,在76年之后,节气不但和今年发生在同一日子里,而且在同一时刻。
但是27759日,不是60所能整除的,如果用干支纪日,那么在76年之后,日名则相同。为了日期相同,得再乘以20:
20×76(年)=1520(年)=20×27759(日)=555l80(日)(大终)
就是说,在1520年以后,节气不但和今年发生在同日同时,而且日名也相同。也就是说,“四分历”的季节、月、日、时刻及月、日的名称要完全复原,得1520年。这便是《淮南子·天文训》中一纪、大终的作用。
拿岁名来说,开始的那一年叫“甲寅”,用干支六十而一转,顺次排下去,在1520年后的那一年就又叫“甲寅”了。就是说,要做到同名的岁、月、日的同一时刻,回复到同原起的季节与朔日,得要4560年(三终)。照上面所说的来看,“四分历”的复原,用1520年就够了。而4560年的周期,完全是为了“年”的名字(干支)也要复原。除此之外,二终、三终在“四分历”上,完全是多余的,并没有别的用处。因此上面所说的一终、二终、三终,用的是干支纪年。《淮南子·天文训》中使用的干支纪年法,有一定的科学性,并且因为“太初历”的被取代而得到进一步的证实。这就是说,在“四分历”的基础上大大向前推进了一步,纪年法更趋于精确和完整了。
干支纪年法,我国最早出现在战国晚期。一开始是用来纪日的,如殷代卜辞。而后来用以纪年,纪年是比较晚的。古代纪年通行的是王公纪年法,如《春秋》和其他史书中记载的那样。以后使用的则是岁星纪年法,这在当时属于有地位的正统派。这样看来,在《淮南子·天文训》一书中,则有三种纪年法存在:颛顼历(四分历)、岁星纪年和干支纪年。而比较好的方法是干支纪年法。
干支,本作“榦枝”。《广雅·释天》:“甲乙为榦,榦者日之神也。寅卯为枝,枝者月之灵也。”榦,本为树榦义。枝,即树之枝条。“干支”之名,初作“幹枝”,省作“干支”。
干支,是十个天干甲、乙、丙、丁、戊、己、庚、辛、壬、癸和十二个地支子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥组合而成。每一年用一对干支来表示。这种纪年法就叫干支纪年法。除了用干支纪年外,还用来纪月、纪日、纪时,用途相当广泛。
据历史记载,干支纪年法在东汉建武三十年(54年)已经普遍使用。我们知道,汉武帝制定的“太初历”实行以后,当时的主要制定者落下闳就知道它不够精密。(唐)欧阳询撰《艺文类聚》卷五《岁时下》记载,落下闳说:“后八百岁,此历差一日,当有圣人定之。”司马迁也知道它还不够精密,故未收录在《史记·历书》之中。到了东汉章帝元和二年(85年),改“太初历”,正式使用干支纪年。当时称“恢复古法,仍用四分历”。实际上采用了淮南王刘安《淮南子·天文训》中传下来的方法:即一年为 日,现在实际测得是365.242216天;一月为29.53083天,今实际测得是29.50359天,几乎是相等的。19年七闰的方法,也是比较精确的。其次还有一纪、一终、二终、三终等纪年方法。一般史学家认为,干支纪年始于东汉改历。实际上,在西汉已经形成两种纪年方法:一派是《淮南子》派,使用干支纪年;一派是传统的岁星纪年。由于岁星纪年使用起来很不方便,每隔86年便要超辰一次。西汉末年的刘歆看出其中的差异,便想办法来补救,于是便出现了岁星超辰法。这种办法,很不实用,于是仍然采用简单方便的干支纪年法。也就是说,在东汉元和二年改历之前的200年,《淮南子·天文训》已提出使用干支纪年法了。这个纪年法使用到两千年后的今天,仍然具有很强的生命力。这就是它的价值所在。
而在西方,在我国西汉末年的时候,历法还是非常混乱的。18世纪法国文学家伏尔泰(1694—1778)讽刺那时的罗马历法时写道,罗马人常打胜仗,但不知道胜仗是哪一天打的。就是说,《淮南子·天文训》中的天文历法等成就,不光古代在国内研究居领先地位,而且在当时的世界范围内也是无与伦比的。
《淮南子·天文》中除了对纪年、纪月的问题做了精深的研究之外,还对比较小的记时单位“时辰”进行了研究。我们知道,记录短的时间有时、分、秒,乃至百万分之一、亿万分之一秒。记录长的时间,有日、月、年,以至几万、几十万、几百万年。计时的仪器从古至今有圭表、日晷斗、沙钟、漏壶、水钟、烧香计时、苏颂钟、摆钟、石英钟、午炮、原子钟等等,名目繁多。当时的记时水平已经达到相当精确的程度。
我国古代记时问题,同纪年、月、日、旬一样,起源很早。最早的每日时间划分,是根据“日出而作,日入而息”来进行的。这样划分出了白天和黑夜。商代是根据太阳的运行情况,来确定一天的时刻。商朝人把一天分为若干个段落,分别称为旦(清晨)、夕(晚上)、明(黎明)、中日(中午)、昃日(下午)、昏(黄昏)等,这样就把一昼夜分成六个时段。只是显得划出的时段长了些,使用起来很不方便。周代使用十二个地支来记时,把一天分为十二个时辰。这种方法比较简便,并且使记时趋于稳定和定量化。但是具体的时辰因为四季的变化而会有很大的不同,因此也不便于掌握。于是一种用来测时的漏壶便产生了。漏壶里的浮箭上刻有时间单位,古代分一昼夜为一百刻。秦汉时规定日出后和日没后二刻为晨、昏时间,用来观察昏、旦中星的活动。这样一来,不管白天、黑夜、阴天,都可以比较准确地测出时间了。而《淮南子·天文训》中采取的方法,是选取地球上一些比较突出的标志或地名,以太阳照耀的时刻作为划定时间的标准,体现了我国古代记时的实用性和传统性。
《淮南子·天文训》中说:
日出于旸谷,浴于咸池。
拂于扶桑,是谓晨明。
登于扶桑,爰始将行,
是谓朏明。
至于曲阿,是谓旦明。
至于曾泉,是谓蚤食。
至于桑野,是谓晏食。
至于衡阳,是谓隅中。
至于昆吾,是谓正中。
至于鸟次,是谓小还。
至于悲谷,是谓餔时。
至于女纪,是谓大还。
至于渊虞,是谓高舂。
至于连石,是谓下舂。
至于悲泉,爰止其女,
爰息其马,是谓县车。
至于虞渊,是谓黄昏。
至于蒙谷,是谓定昏。
日入于虞渊之汜,
曙于蒙谷之浦。
行九州七舍,
有五亿万七千三百九里,
禹以为朝、昼、昏、夜。
这里记载的是太阳一天所经历的十六个时辰,具体分为朝、昼、昏、夜四个时段。
十六个时段的划分,在秦代已经流行。甘肃天水放马滩一号秦简出土有两种《日书》,其中就有类似的时制。东汉王充《论衡·说日篇》中有:“五月之时,昼十一分,夜五分;六月昼十分,夜六分;从六月往至十一月,(昼)月减一分。”可知十六时段制,东汉仍然在流行。不过,官方通行的是十二时段制。
这里的标准时间是“至于昆吾,是谓正中”,当是指固定的中午十二点。这些时间的概念,是随着季节的变化而确定的。以北纬35°的地方来说,假定黄昏即为民用昏影终的时刻,则在春分时为下午六时三十分,夏至时七点四十七分,秋分时为六时二十三分,冬至时为五时二十一分。可见《淮南子·天文训》虽然未把时间的单位正确指示出来,但是对时间划分,却是相当精密的,它是以实际测量的结果为依据的。《淮南子·天文训》中对时间的划分,为后人制定时间单位提供了重要的依据。