现在国际通用的格里历法源于1582年。中国从1912年正式采用格里历法。历史上中国一直采用农历历法,沿用至今。中国农历属于阴阳历。也就是说,在设定年,月的时候,不光要考虑太阳的运行,也要把月亮的运行考虑进去。格里历法是阳历,主要考虑太阳的运行。一些穆斯林国家采用阴历,只考虑月亮的运行。无论何种历法,都依赖于对日,月运行规律的认识。这需要很好的天文学知识。现在我们先从天文学角度认识一下日月的运行规律。
我们都知道地球围绕太阳运行,月亮围绕地球运行。但从我们的日常生活经历,我们觉得日月都在围绕地球运行。在设定历法的时候,采用地心说或日心说关系不大。古人都是采用地球为中心,并不影响历法的精度。地球围绕太阳的运行轨迹不是正圆,而是椭圆形,偏向率为0.0167左右。也就是说地球有时候距离太阳比较近,有时候比较远。距离太阳最近的点叫近日点,最远的点叫远日点。太阳和地球之间的平均距离大约1亿5千万公里,被称为一个天文单位。根据开普勒第二定律,连接行星和太阳的直线在等时间内扫过的面积相等,也就是说,地球在距离太阳最远的时候(远日点),围绕太阳的运行速度最慢,而在距离太阳最近的时候(近日点),运行速度最快。
地球的四季变化并不是由于地球围绕太阳的椭圆形(该椭圆很接近正圆)运行,而是由于地球自转轴的倾角。地球围绕太阳运行的平面叫黄道面,地球自转轴与黄道面的交角是23.5度。在北半球,当地球自转轴倾斜方向刚好向着太阳的时候,称为夏至日,这时太阳在太空中升的最高,白天也最长,而当自转轴倾斜方向刚好远离太阳的时候称为冬至日,这时太阳在太空中升的最低,白天也最短,天赤道(地球赤道外延)与黄道相交的两个点是春分点和秋分点,这时昼夜一样长。如果把太阳一年正午时候在太空中的位置连成线,是一个8字形。最高部位对应夏至,最低部位对应冬至。
现在我们看看年的设定。假定我们把年定义为地球围绕太阳(或太阳围绕地球)旋转360度,那从观测角度,我们可以以背景恒星作为参照。就像古埃及人以天上最亮的恒星天狼星为参照,把黎明前两次看到天狼星的时间间隔作为一年。这样的一年平均大约有365.2564天,被称为恒星年。我们前面提到地球的近日点,如果我们把地球再次回到近日点的时间间隔作为一年,那一年平均大约有365.2596天,这被称为近点年。我们定义年最希望的是能够体现季节变化,比如把两个春分点之间的间隔作为一年(平均365.2424天)或把两个夏至之间的间隔作为一年(平均365.2416天),两个秋分点(365.2421天)和冬至点(365.2427天)也有不同间隔,把这四个平均,可以得到365.2422天,这被称为回归年。
我们可以发现,恒星年,近点年,回归年的时间都不一样。这时因为我们上面对地球围绕太阳运行的规律大大做了简化,地球实际运行情况要复杂的多。首先由于万有引力作用,其他行星对地球的运行会产生影响。这体现在地球的近日点会不断变化,每隔60年近日点会晚一天。地球围绕太阳做逆时针旋转,完成一个恒星年(365.2564天)后,由于近日点发生了移动,地球需要再运行0.0032天才能回到下一个近日点。因而近点年要比恒星年长。目前地球的近日点在一月四号,地球运行速度最快,再过4500年,近日点将在春分点附近。另外由于近日点的变化,地球回归到每个季节点的时间也不同。这就是为什么农历的闰月会发生在不同月份的原因。
恒星年比回归年长0.0142天。早在公元前两世纪,喜帕恰斯就已经观测到两分点(春分点和秋分点)的岁差,这是由于地球的自转轴逆行造成的。地球自转轴现在的倾角是23.5度,指向北极星方向。由于自转轴的旋转,北极方向会不断发生变化,到公元14000年,织女星将成为北极方向。自转轴旋转周期大约26000年。自转轴的旋转造成两分点在黄道的逆行,这样恒星年就要比回归年长。
恒星年,回归年,近点年的时间不同,那么在制定历法时应该选哪个来设定年?恒星年与近点年没有考虑四季变化,从人类生活实用角度,用回归年较好。现在通用的格里历就是用的回归年。每四百年设置97个闰年,这样平均下来每年是365.2425天,与春分点回归时间400年只差0.0001天。这点对天主教很重要。因为天主教把春分点固定在3月21号,这是为了设定复活节的需要。耶稣复活节设定为复活节满月后的第一个星期日,复活节满月并不是真正满月,而是人为规定的春分点所在的月为复活节月,复活节月新月后的第14天为复活节满月,该满月后的第一个星期天为复活节。因而复活节每年也不是固定的。
波斯历法采用33年8个闰月,这样33年每年平均为365.2424天,与春分点回归时间基本一致。波斯历法的新年就是每年的春分点。也就是格里历的每年3月21号或22号伊朗才开始庆祝新的一年的到来。
下面我们看一下月亮如何围绕地球运行。月亮的运行规律更加复杂。首先月球其实不是围绕地球中心运行,而是围绕地球和月球共同的重力中心运行。地月共同重力中心在距地球中心处的4600公里处,地球的半径是6341公里,这个中心点在地球内部。而且由于月球的运行轨迹也不是正圆,而是椭圆率平均为0.0549的椭圆,也就是说,月亮有时距地球比较近,有时比较远,这样地月的共同重力中心点也会随着变化。月球距地球平均距离38万多公里,而最近时只有36万多公里,最远时有40多万公里。另外月球围绕地球运行的平面与地球围绕太阳运行的黄道面不在一个平面,月球运行的平面叫白道面,与黄道面平均有5.1度(4.96到5.32之间变化)的夹角。
月球在围绕地球运行的同时也在自转,而月球自转周期与月球公转周期一致,这就是为什么我们只能看到月球的一面,而月球的背面我们看不到。月球之所以自转周期与公转周期一致,是由于地球对月球的潮汐力锁定。地球对月球近地面和远地面的引力差产生潮汐力,在潮汐力的作用下,月球的自转速度不断降低,一直到完全被地球施加的潮汐力锁定,导致月球自转周期与公转周期一致。
月球环绕地球运行一圈360度,如果以背景恒星作为参照,需要27.32天,这被称为恒星月。而月球两次满月之间的时间是29.53天,比恒星月长2.21天。这是由于月球在围绕地球逆时针运行时,地球也在围绕太阳逆时针运行,当月球用27.32天运行了一圈后,还需要运行2.21天才会到下一次满月。中国农历把满月时叫望,把看不到月亮的时间叫朔,因而两次满月的时间被称为朔望月。月球再次回到距地球最近的点的时间是27.55天,这被称为近点月。由于太阳对月球的巨大摄动力,月球的近地点变化很大,每隔8.85年,月球就会完成一次近地点的变化周期。近点月比恒星月要长0.23天。上面说过白道与黄道有平均5.1度的夹角,月球再次回到白道与黄道交点的时间是27.21天,这被称为交点月。
近点月,交点月和朔望月对计算日食和月食很重要。日食或月食只可能发生在朔或望的时候同时要正好在黄道与白道相交点上。如果同时又是近地点,月球可以把太阳完全遮掩,就会产生日全食,如果在远地点,月球不能把太阳完全遮掩,会产生日环食。
格里历是阳历,几乎不考虑月球的运行(除了天主教设定复活节时要考虑月球运行)。而中国的农历是阴阳历,即要考虑太阳的运行,也要考虑月球的运行。从清代以后,农历采用定朔,定气法,也就是说按照太阳和月亮的实际运行情况设定历法。这样每个月可能有29天或30天,平年有12个月,可能有353天,354天或355天,闰年13个月,可能有383天,384天或385天。农历采用19年7闰,这是由于古人早就意识到朔望月平均为29.53天,乘以235等于6939.55,而回归年平均为365.2422天,乘以19等于6939.60,两个数很接近,也就是说19个回归年相当于235个朔望月。而235=19×12+7。这样只要在19年设7个闰月,就可以解决阴阳历年月的差异。在西方19年周期被称为摩东尼周期。
我们不能说阳历,或阴阳历谁优谁劣。无论哪种历法,都在严格遵循地球,月球和太阳的运行规律。年月的概念不是简单的人为设定,而是人类对自然界长期实践和观测的结果。