历法,也就是我们日历上记录的信息。现在它对我们而言习以为常,不可或缺。它是人类经过漫长的经验积累、天文观测、数学演算之后的的智慧结晶。今天就来追溯一下历法从无到有的这个历史进程。
历法的“历”字现在的标准繁体是“曆”,但在较早的典籍中,通作“歷”(之前有人说《故宫日历》的封面错了,实在是冤枉了)。“歷”的本意是过,也就是在“经历”中的意思,也可以理解为行。历法的本意可能就是天体运行的规律。当然不是开普勒定律或者万有引力定律,而是人类观测到的天体运动的周期性。通过观察日月星辰在天空中的位置变化,人类认识到了其周期性和生活中的一些现象是一致的。为了掌握这种规律,更好地预测自然现象和安排劳动生活,人类制定了历法。所以,历法这个词应该是在有一定天文学知识之后的称呼。但是人类对于时间周期的认识要远早于此时,早于文字甚至语言的出现之前。
人类何时何地为何开始使用历法已不可考,文字出现之前的历法我们无从知晓,但是我们不妨想象一下。
计日
毫无疑问,人类最先认识的时间周期是昼夜的交替,也就是日的概念。“日出而作,日入而息”是还没进化成人类之前就有的本能,铭刻在我们的基因里。相信人类很容易就发现昼夜和天空最明显的参照物太阳之间的关系。他们必须在太阳升起之后外出觅食,并且在太阳落山前及时赶回聚居点。黑夜降临之后,野外已经不适合活动,人类最好待在聚居点里等待下一次太阳升起。这样的一个循环就是一天,也是历法的基本单位。
原始部落的人通常把日出作为一天的开始,直到下一次日出就是一天。后来的古埃及人也使用这种方法。苏美尔人则把日落作为一天的开始。中世纪的欧洲的一天则开始于日落后两小时,这也是为什么一些西方节日如圣诞节和万圣节开始于晚上。这中划分对于日常生活没什么问题,但是作为历法却有失准确,不同日期日出日落时间是变动的。现在通行午夜0点作为一天的起点。我国古代一天开始于深夜。
最原始的历法就是计算天数,这也需要掌握基本的数学能力之后才能开始。在狩猎采集社会,可能需要计算从一个采集点到另一个采集点的迁徙时间,记录一种野果的成熟期,记录外出打猎的天数以便及时回程。这时,人类就需要记录日期。《鲁滨逊漂流记》中,在荒岛上每过一天,鲁滨逊就会用刀在树上刻一道。古人的方法也类似。在非洲发现的一根35000年前的狒狒肋骨上被人为留下了29道划痕,可能是用于计算日期。我国古代也有结绳纪事的传说,也可以用来记录时间。
在天的基础上再发展一步,把固定的天数作为一个单位,比如现在的星期,便于计算更长的时间。但是不知道这是什么时候开始的,可能需要在人类掌握乘法以后。现在一些西非的部落把四天当成一个时间单位。古巴比伦人每七天一个周期,他们认为数字七特别神秘。之后犹太人也使用七天制,不排除受了巴比伦人的影响。古埃及人每十天循环一次,和我国古代的纪日方法类似。古罗马人先是采用八天制,之后采用了犹太人的七天制,接着这一习惯覆盖了基督教国家,最后变成了世界的通用单位。
阴历
到了晚上,天空中最明显的参照物变成了月亮。每当月亮变圆时,铺满大地的月光让人类在晚上也可以进行一些活动;如果没有月亮,这时外出显然不太明智。为了安排各种活动,再加上一些宗教意识,人类会经常观察月亮。人类不久就发现了月相的周期性,毕竟变化太明显了。有学者认为在法国出土的一件骨器上记载了人类早期对月相的认识,距今约30000年,但是还存有争议。
月球绕地球运动导致了月相的变化,它的周期是29.5306日,称为一个朔望月。以月相周期为单位,可以记录几十上百天的时间。这时人类应该已经掌握了乘法,通过数月圆的次数就可以计算日期。“肠断青天望明月,别来三十六回圆”就是这个意思。
掌握了月亮的周期之后,系统的历法就已经出现了。这种历法只以月亮为参照物,只计算经过了几个月。这种历法叫作阴历。目前公认的最早的历法就是阴历,它发现于苏格兰,距今约10000年。当时可能还没有年的概念。发展到后来,这种历法也会将固定的几个月当成一个大的单位,比如12个月称为1年。可以看出,这时的历法还没有起到指导农业的目的,农业主要依据太阳周期。阴历年和太阳周期的差距较大,会和季节有较大的出入。它主要用于宗教目的,比如一些传统节日是基于阴历的。
进入文明不久时,人类也普遍保留着这种历法。公元前3000年左右,两河流域的苏美尔人使用的就是阴历。他们把一年分为两季,每季6个月。6个月29天,6个月30天,共354天。每一个月开始于新月的出现。阴历年和回归年的出入,苏美尔人不可能认识不到。但是要到几百年后,苏美尔人才通过置闰解决这个问题,历法也就变成了阴阳历。在古埃及的早期,也存在着一种阴历。现存的代表性的阴历有伊斯兰历。
阳历
季节的变换对于人类是十分重要的,它直接关系到他们的食物和生存。他们必须在不同的季节采集应季的食物,在寒冷到来之前移居或者准备御寒。人类对于季节的概念应该是十分早的,甚至早于对月的认识。但是对于它的规律,也就是年的概念应该是比较晚的,发现几百天的循环对早期人类而言不太容易也不太必要。对于更长周期更加精确的历法的要求可能需要等到城市或国家出现之后,为了统治者的经济政治目的产生的。
10000年前,在几大文明区,农业开始出现。农业需要人类对季节敏感,及时播种,及时收获。在没有精确历法的时代,人类是靠季节性的事件来掌握这一点的。这种粗糙的历法叫作物候历。《诗经・豳风・七月》就反映了我国古代的一种物候历。二十四节气也可以说是一种物候历,但是那已经是建立在比较精确的阴阳历上的了。
当时人类的显然没有必要去制定这么繁复的历法。他们只想知道在什么时候耕地,什么时候播种,他们的庄稼会长得最好。所以他们只需要记住特定时期的物候就足够了。古埃及人就是每年在尼罗河泛滥之后开始播种,再等到庄稼成熟收获就行了。这种物候历对于农业生产具有很强的指导作用,即使在比较精确的历法出现之后,民间也一直通行。古希腊人认为,鹤鸣时就该开始耕作了,当蜗牛爬上藤蔓后就不能再翻土了。我国兰屿上的雅美族渔民认为,飞鱼出现意味着渔汛开始。我们的二十四节气也一直沿用至今。
开始认识一些季节性的物候后,人类不难发现其中的规律性,年的概念出现了。为了测量一年的长度,必须要确定起点。确认年的起点没有像日月那么容易,精确测年需要较多的天文学知识。经过了不少的探索,人类最后确定了以二分二至作为一年的起点或标杆(古埃及人除外)。一年不同时期太阳在地球的直射点也不同,导致温带地区出现明显的季节交替。在北半球,春分日和秋分日白天和黑夜的时间相同,夏至日和冬至日的白天分别达到最长和最短。夏至日早上,太阳从地平线升起的位置最北,冬至日位置最南;夏至日正午时物体的影子最长,冬至日最短。
最早的观测应该是直接选取自然参照物来确定分至,比如山峰。刘宗迪在《失落的天书》中指出,在《山海经》中隐藏着一套通过观察日出地点来演算的历法。今天美洲的一些土著居民依然通过观察太阳在地平线上固定地点的起落来确定分至,比如美国的霍皮人。之后,人类开始搭建观测太阳用的建筑。这类建筑中都有几个特殊的位置,这些位置之间的连线通常指向分至日太阳的起落地点。位于澳大利亚的Wurdi Youang石阵被认为用于观测太阳,距今已有11000年历史,是最早的天文观测遗迹。在公元前3000年到公元前2000年,欧洲各地建立起了几百座巨石结构,英国的巨石阵是其中的代表。这些巨石阵的作用之一被认为是观测太阳。在秘鲁曾发现公元前4世纪的太阳观测台。我国也在山西陶寺发现了公元前2100年左右的观象台。
确定了一年的参照点之后,也就可以制定相应的历法了。这种历法只考虑太阳的周期,保证日期和季节的一致性。这种历法叫作阳历。古埃及人是已知最早使用阳历的民族。古埃及国历把天狼星和太阳同时升起当成一年的起点,直到下一次同时升起之间是一年,这个周期是365.2507天,和365.2422天的回归年只相差12分钟。埃及人把一年分为三季,每季4个月,一月30天,剩下5天放在年末。这里的月和阴历里的年一样,名不符实,只是习惯叫法。古埃及国历一年和回归年相差约1/4天,每1500年左右就会相差一年。在漫长的埃及历史中,埃及人显然也察觉到了,但是他们没有修改。可能是因为民间还流传着另一套历法,这套阳历主要用于政治经济目的。保证每年天数一样,就能很轻易计算出较长的日期间隔,对于管理、征税等活动更方便。
苏美尔人原来用的阴历在这方面就不太方便,所以在公元前2400年左右,苏美尔的书吏中流通着一套阳历。一年12个月,每月30天,共360天。苏美尔人已经具备了丰富的天文学知识,他们把天空等分成12个区域。后来的古巴比伦人发展了这种方法,把黄道等分成12个区域,并把每一个区域里的主要的星组成星座。太阳每个月会处在其中一个区域,这样就可以用该区域的星座来表示月份。古巴比伦历法中一年起始于春分,星座也是从太阳在春分点开始划分的。这套理论之后被希腊人继承,最后发展成现在的星座学说。现在的春分主要在公历3月21日左右,所以时间概念上的星座才会显得不零不整。
阴阳历
阴历阳历都有各自的缺点。阴历年和回归年的误差太大,这一点对于农业等活动来说是致命的。阳历不太容易掌握,不能像阴历那样通过月相就大推测出日期。而且很多宗教节日是基于阴历的,不能废弃。最初调和这个矛盾的方法是通行多套历法,比如苏美尔人就有阴历和阳历两套历法,埃及人则有三套历法。现在大多数西方国家由于宗教原因也通行着两套历法。现在我国也是法定使用公历,但是传统节日都是基于农历。
另一个解决矛盾的办法就是,各民族最后都发展出了二者合一的阴阳历。阴阳历建立在阴历的基础上,通过置闰月的方法保证季节和月份的相对稳定。这样民间也可以随时确定大概的日期,需要精确性的统治者也能满足要求。
在早期埃及存在一种简单的阴阳历,可能开始于第四王朝(始于约公元前2650年)之前。这种历法的一年开始于天狼星和太阳同时升起之后的第一次新月。由于阴历年和回归年之间的误差,如果天狼星和太阳在一年的最后几天升起,下一次升起就可能在隔一年的年初。为了避免这种情况,这时他们就在下一年末增加一个月,保证天狼星和太阳总是在一年的最后一个月升起。到了公元前四世纪,埃及又出现了另一套阴阳历。这套历法采用的是廿五年九闰的规则。规定每25年添加9个闰月,并且在每5年后增加一天,共309个月,共9130日。这种历法和回归年相比每25年误差1天。
公元前2400年,苏美尔人已经开始使用闰月来调整历法。但是他们的置闰方法没有规律,觉得季节有点对不上就添加一个月,有时甚至是两个月。直到公元前380年左右,也就是又经过了2000年,两河流域才形成正确规律的置闰方法,也就是十九年七闰的规则。这个时候已经是波斯时期了。在此之前,公元前432年,雅典天文学家梅唐已经提出了十九年七闰的方法。这种方法规定每19年添加7个闰月,就有235个月,共6940天。精确度是每19年误差不到半天。
通过甲骨文和金文,研究人员发现中国至迟在商代就开始采用阴阳历,但直到西周置闰的方法还比较混乱,有时一年14个月。到了春秋时期,已经确定了十九年七闰的置闰规则。在中国,十九年作为一个纪年单位,叫作一章。每19年可以看成一个循环,农历年会和回归年重新同步。这也是为什么很多人19岁时发现自己的公历生日和农历生日重合了。(当然也有相差1天的,这和闰年或农历大小月有关,这里不讨论了。)
公历
现在的通行世界的公历就是阳历,是从古罗马历法发展而来的。据说罗马的创立者罗慕路斯发明过一套历法。一年从春分日开始,有六个月是30天,四个月是31天,剩下的几十天则不知所踪。这十个月当时的顺序是:Martius(战神月,即March)、Aprilis(爱神月,即April)、Maius(春神月,即May)、Iunius(婚姻神月,即June)、Quintilis(五月)、Sextilis(六月)、September(七月)、October(八月)、November(九月)和December(十月)。古罗马人在起名上可能没什么耐心,五月以后就开始随便了。
第二任罗马国王改革了历法,在原来十个月后添加了Februarius(净化月,即February)和Ianuarius(门神月,即January),多余的日期才有了编制。改革后的历法有四个月31天,七个月29天,只有Februarius是28天,共355天。这套历法可以说是阴历的变体,但是又不能完全和月亮的运行规律吻合。原因就是当时的古罗马人认为偶数天数的月份不太吉利,所以没有30天的月份。但是为了保证一年的天数不是偶数,必须保留一个偶数月,也就是Februarius。
之后古罗马人调整了Februarius和Ianuarius的顺序,让Ianuarius成为岁首,Februarius次之。从此这些月份的顺序就和现在的公历一致了。本来表示七月的September变成了九月,不知道为什么古罗马人没有修正。古罗马人也通过置闰调整了历法,每两年添加一个22或23天的月份。它的名字是Mercedonius,意思是发薪月,当时工人在这个时候领薪水。(关键是两年才有这个月,不知道平时发不发薪水,不然也太惨了。)古罗马人置闰的规则也很奇怪。他们在Februarius的23日和24日之间插入闰月。导致闰年Februarius只有23天,剩下的5天归入闰月。最后就是平均每年有366.25天,依然有着不小的误差。这套历法叫作罗马共和国历,一直沿用到凯撒时期。
由于误差和置闰的混乱,到了凯撒时期,历法已经向后移动了两个月。公元前45年,凯撒采用了埃及学者索西琴尼的意见,参考埃及的阳历,制定了儒略历(也就是尤利乌斯历)。儒略历规定去掉Mercedonius,一年12个月;6个大月31日,5个小月30日,大小月交错;Februarius平年29日,闰年30日。这样平年365天,闰年366天。罗马人称闰年为bissextile,意思就是两个六,也可以叫双陆(滑稽)。儒略历规定每四年一次闰年,这样平均每年365.25天,只和回归年相差11分钟。
儒略历颁布后并没有得到很好的实施,因为罗马教皇误解了凯撒置闰的规则,把每三年后设置一个闰年理解成每三年里设置一个闰年。后来屋大维更正了历法错误,让儒略历得以重新实行。为了纪念凯撒和屋大维,后来分别把Quintilis和Sextilis命名为Iulius(尤利乌斯月,即July)和Augustus(奥古斯都月,即August)。从此月份的名称也和公历一致了。可能是罗马人或者屋大维自己认为他的月份不应该比凯撒的月份短,于是将Augustus规定为大月,后面的四个月大小置换。这样一年就有366/367天,多出的一天在Februarius里扣除。从此就出现了七八连续两个大月,Februarius也变成了28/29天。已经和现在的公历完全一致了。
儒略历的一年依然有11分钟的误差,时间一长就会出现明显的出入。到了16世纪,历法不可避免地又向后平移了十几天。凯撒颁布历法时春分日是3月25日,这时已经是3月11日。由于春分日在基督教中特殊的宗教含义,修改历法的呼声就出现了。1582年,教皇格里高利十三世颁布了格里高利历。格里高利历对儒略历的修正主要是把春分日推迟到3月21日,并规定了400年97闰的置闰规则。格里高利历一年平均365.2425天,3700多年才会出现1天的误差,已经足够精确使用很久了。我国在民国时期引入格里高利历,通行到现在,我们称之为公历。