谈谈历法
——— 中央人民广播电台 1961年2月12日星期讲座讲稿
钱宝琮
在很古的时代里,人们由于生产活动的需要,就产生了计算时间和日子的要求。同时,人们在生产活动中逐渐地了解自然的现象和它的规律,也就订出了计算时间的方法。计算搜集的三个基本单位是一天,一月和一年。依照我们现在的天文知识来通俗地解释:一天是地球自转一圈的时间,一月是月亮围绕地球转一圈的时间,一年是地球围绕太阳转一圈的时间。一月和一年的天数都不是整数,它们彼此之间也没有简单的比例。历法就是结合年,月,日这三个时间单位的数量关系,安排日历的制度。按照一个好的历法制度编定的日历,可以表示任何一天太阳和月亮在天空中的位置,是对生产有帮助的。
根据月亮的运动周期(也就是月亮围绕地球转一圈的时间)定出来的历法叫作太阴历,简称阴历。阴历规定以十二个月为一年,因为它没有润月,所以同样是一个六月,可以赶在夏天,也可能赶在冬天,月份的次序同季节没有关系,对于人们的农业生产活动不相适合。根据地球的公转周期(也就是地球围绕太阳转一圈的时间),定出来的历法,叫作太阳历,简称阳历。阳历把一年划分成十二个月,每一个月与月亮的运动周期没有联系。我们日历上的旧历,既不是阳历,也不是纯粹的阴历。它的日期是根据月亮的方向来决定的。可是它的二十四个节气却又是根据太阳在黄道上的位置来决定的。所以它兼有阴历和阳历的特点,可以说是“阴阳合历”。旧历,这个调和阴历和阳历的完整体系,是通过中国古代各时期天文学家的辛勤劳动,逐渐发展而完整起来的。
计算时间最基本的单位是一天。一天究竟有多长呢?拿太阳作标准,那就是从中午太阳在正南方到第二天中午太阳又在正南方,相隔的时间就是一天。古时候的人把一天平分为十二个时辰,用子、丑、寅、卯、辰、已、午、未、申、酉、戌、亥来称呼它们,并且拿半夜的子时作为一天的起点。现在一天平分为二十四小时,一小时平分为60分,一分平分为60秒。小时、分、秒,都是现代计算时间的单位。
比一天更大的时间单位是一月,一月又有多长呢?这就不像一天那样好计算了。它是根据月亮的圆缺来计算的。人们在很古的时代里就认识到月亮从圆到缺,从缺到圆,是有规律的。一个留心天象变化的人,积累上40多年的经验,可以看见五百多次月圆。如果用五百来除五百次月圆所经过的时间,就可以得出一月的平均天数。这种根据月亮的圆缺订出的一月,我们把它叫作“阴历月”。现在我们知道,一个平均阴历月是29.53059天,也就是二十九天十二小时四十四分三秒。因为阴历月的平均天数不是一个整数,它比二十九天半还略微多一些,所以规定29天是阴历月的小月,30天是大月,把小月和大月适当地安排起来,在一定时期里,阴历月的平均天数就和实际相当近似。譬如把阴历月一个小月,一个大月的排起来,在十六个月的后面再排上一个大月,也就是说十七个月里有九个大月,八个小月,这样平均起来,一个月就是二十九天又十七分之九,这和平均阴历月大约只相差五分钟。如果在四十九个月里,安排二十六个大月,二十三个小月,这样就可以更加精确了。
现在再谈一年又是怎样计算的呢?古时候的人发现每天虽然都有白天黑夜,但是每天的白天和黑夜所占的时间长短不同。白天最短,黑夜最长的一天叫做“冬至”,白天最长,黑夜最短的一天叫做“夏至”。白天黑夜差不多相等的两天叫做“春分”和“秋分”。人们就把从第一个“冬至”到第二个“冬至”,算作一年。怎样可以测量出“冬至”和“夏至”的日期呢?最简单的测量方法是:在平坦的广场里,树是一个标竿,在太阳光底下,这支标竿是有影子的。每天中午观察标竿的影子,就会发现标竿的影子在冬天就长一些,在夏天就短一些。标竿的影子最长的那一天,就是“冬至”。标竿的影子最短的那一天,就是“夏至”。大约二千五百年以前,在我国历史上的春秋时期里,天文工作人员就用这种“立竿见影”的方法,测量冬至和夏至的日期,并且计算出从一个冬至到第二个冬至,这样一段时间有365天或366天。现在的天文学家用精密的仪器观察太阳,用现代的天文知识计算,从冬至到冬至应该是365.2422天或者说是365天5小时48分46秒。这是一个关于太阳的循环周期,我们叫它一个“回归年”。或者“太阳年”。(回归年的回是回来的回,归是归来的归,归还的归。)
一个和生产季节有密切关系的太阳年有365.2422天,而十二个阴历月只有354天或者355天。每年要少十一天,或者十天,三年的功夫,就要相差三十多天。所以每三年必须有一个闰月来调整季节。
春秋末年战国、秦朝和前后汉朝四百多年的历法就规定从冬至到第二个冬至是365又四分之一天,每十九年应该有七个闰月。
后来的天文工作者推算阳历年和阴历月的长短更加精密了。相形之下十九年七个闰月是不够准确的。必须要改变它。一千五百年前的我国天文学家祖冲之认为一个阳历年是365.2428天,一个阴历月是29.5306天,三百九十一年中应该有一百四十四个闰月,和这个时期里的其他各家历法相比,祖冲之的这个数据最精密。
除了年、月、日以外,由于农业生产上的需要,人们又制出了季节。我国春秋时期的历法,已经把一年平均分为春夏秋冬四季,并且把春分、夏至、秋分、冬至作为四季的主要节气。到战国末年,添上立春、立夏、立秋、立冬作为春夏秋冬四季的开始。到了西汉初年,节气的数目增加到二十四个,这也就是现在我们还在应用的二十四节气。从冬至数起就是:冬至,小寒,大寒,立春,雨水,惊蛰,春分,清明,谷雨,立夏,小满,芒种,夏至,小暑,大暑,立秋,处暑,白露,秋分,寒露,霜降,立冬,小雪,大雪,这样二十四个节气。两个节气之间相隔都是太阳年的二十四分之一。到了汉武帝太初元年,也就是公元前104年,制定了一个新的历法。在这个历法中把从冬至算起,逢单数的节气,叫作“中气”(中是中间的中,气是节气的气)。把逢双数的节气,才叫作“节气”。规定所有中气必须放在指定的月份里,节气可以放在本月的上半月,也可以放在上月的下半月,没有一定。例如“雨水”是旧历正月的中气,必须是在正月里边,立春是正月的节气,可以在正月的上半个月里,但是也可以在头年十二月的下半月里。譬如前几天刚过去的“立春”就是旧历辛丑年的立春节,可是它今年却落在庚子年的十二月十九了。照这样安排,一年十二个月,每一个月都有一个中气。在有闰月的年份里,十三个月中间必定有一个月没有中气,于是就拿这个没有中气的月作为闰月。这种安插闰月的方法,可以使得所有中气和本月月半,所有节气和本月月初相距都不到半个月,使阴历月和生产季节得到更密切的结合。
汉武帝太初元年以后,我国历法有了比较完整的体系,对于一切季节性的生产活动有着一定的便利。但是在天文学理论方面,这种历法还存在着无可讳言的缺点。第一是历法中一月的长短是阴历月的平均数,日月合朔的现象,也就是月亮和太阳刚好处在一个方向。我们完全看不见月亮的时候,不一定发生在每月的初一日。第二是历法中二十四气是在一个太阳年里均匀布置的,因此,白天和黑夜一般长的日子不是春分和秋分。这两个在当时不容易解决的问题,到几百年后随着天文学的进步,都得到解决。
先讲阴历月的问题。历法中用平均阴历月的缺点,反映在日食月食现象和海潮涨落时刻上最明显。日食和月食这种不经常出现的怪现象,在古代认为是一种灾殃,在我国历史里记录了很多日食月食的日期。到汉朝,天文学家知道了月亮的光是太阳光的反射,月亮的圆缺和月亮的位置有着密切的关系。月亮和太阳在同一方向的时候,月亮没有光,在天文学上叫做“合朔”(合是合作社的合,朔是大逆不道的逆字,去掉走之,右边加一个月亮的月字)。月亮和太阳在相反的方面的时候,月亮最圆满,在天文学上叫做“望”(望就是盼望的望)。汉朝的天文学家也认识了日食和月食现象发生的规律。知道日食是太阳光的全部或者一部分被月亮遮住了的现象。知道月食是月亮走到地球的阴影里面,太阳光被地球遮住了的现象,所以日食应该出现在太阳和月亮在同一方向的时候,也就是在合朔的时候。月食应该出现在太阳和月亮在相反的方向的时候,也就是在“望”的时候。但是历史记录上的日食有时候都是在初二日,有时候是在上一个月的最末一天。这说明当时的历法中的每月的初一不一定是合朔的日子。这是在日食和月食现象中反映出的缺点。在海边捕鱼或航行的人,熟悉每天涨潮和落潮的时刻,每月的初一日和十五日,上潮的时候总在中午和半夜子时的前后。但是有时候要超前半个时辰。我们知道海潮的涨落时刻和月亮的航次安也有密切的联系。潮水应该在月亮正南方向和正北方向的时候涨得最高。如果每月的初一是合朔的日子,那么初一日高潮就必定在正午时和子时发生了。
经过了很长时期的对于月亮天空中运行速度的研究,东汉时期里的天文学家发现了月亮速度变化的规律,已经了解从每一月的合朔到第二个月的合朔经过的时间不是相等的,每一个月的合朔时刻是可以计算出来的。南北朝的时候,有几个天文学家主张固定用合朔的一天作为每月的初一。这样的阴历月是真正的“朔望月”。这种阴历月长短不等,大月小月的安排没有固定的规则。因此,可以有连续三个大月,也可以有连续两个小月。但是当时的封建政权不赞成改变任何早经规定的制度,所以这些天文学家的合理化建议没有能够实现。
到了唐朝初年,我国的天文学家能够把每月合朔的日日期和时刻计算得更加准确了。每月的初一应该是合朔的日子,这个道理也被统治阶级中人承认了。所以以唐朝初年起,国家颁行的历法就用合朔的一天作为每月的初一。从此以后,日食现象就总是发生在初一,月食现象总是发生在望的时候。例如,今年春节,旧历的正月初一就有日食现象发生。海边上捕鱼或者航行的人也就编出了“初一月半子午潮,初八廿三卯酉潮”这个歌谣。