趣谈闰年与二十四节气
文/蔡同德
我们都知道,公历(阳历)年和农历(阴历)年是不同步的,比如今年农历为癸卯年,正月初一即春节对应的是公元2023年1月22日,腊月三十即除夕则对应2024年的2月9日。
癸卯年出生的小孩属兔,但说2023年出生的小孩属兔是不准确的,因为属相是由农历年决定的,2023年内1月1日至1月21日这些天出生的小孩仍然属虎,因为这21天在农历去年的壬寅年腊月之内。
和公历每年都是12个月不同,去年壬寅年是12个月,只有355天,但今年癸卯年却有13个月,其中多出来的这个月跟在二月之后,叫闰二月,于是癸卯年是闰年,长达384天,比公元2023年多出19天!
农历为什么有闰月,哪一年是闰年?
要回答这个问题,必须先弄清楚一年到底是多少天。准确地说,一年应该是365个昼夜24小时再加5小时48分46秒,即365.2422天。这是地球围绕太阳公转一圈的时间,叫做回归年。其近似值为365.25天,即365天零四分之一天。所以公历年规定每四年中的前三年每年365天,叫平年,第四年366天,叫闰年,多出来的一天叫闰日,放在2月份。平年的2月份是28天,闰年的2月份是29天。
为了便于记忆,闰年定在年份数能被4整除的那一年。例如,2020能被4整除,所以这一年是闰年,2021、2022、2023都不能被4整除,这三年就是平年。明年是2024年,就又是闰年了。
还有一个有意思的问题。因为客观存在的回归年是365.2422天,公历年是按近似值365.25计算的,必竟有误差。这个微小的误差是每年人为地加了0.0078天,100年累积起来就是0.78天,结果,公历年实行了1500多年后,多出来了12天,明显感觉与季节不相符了。
聪明的古罗马天文学家于是就修改历法,再加一条规定,在能被100整除当然也被4整除的年份,如1800、1900年时,2月份不加一天,仍是28天。但还是有误差,因为100年多出来的是0.78天,你不加这一天,就又少了0.22天,400年就少了0.88天,接近一天了,那么再规定能被400整除的年份,如1600、2000、2400年时仍然在2月份加一天。当然,严格地说,还有误差,这样每400年就多加了0.12天,8个400年即3200年后就又多出来0.96天,那就规定3200、6400年时不加。如果硬钻牛角尖,说这样的话,每3200年就少了0.04天,25个3200年后即80000年后又少了一天呀! 别管了,八万年后地球和太阳还不知道发生什么变化呢!
总之,公历年是和回归年基本一致的,真实反映了一年四个季节春夏秋冬的变化。
说完了公历,再来谈农历。农历的平年也是12个月,大月30天,小月29天,有时大小月各6个,这一年就是354天,有时7个大月5个小月就是355天。但是这样一来与公历年相比每年少了11天,误差太大了,三年累积起来就少33天。这还了得,15年后就少了165天,是5个半月! 这样,15年后的日历表上的腊月就不是冬天而是盛夏了,春夏秋冬完全颠倒了。
那么农历是怎样解决这个误差的呢?
农历没有像公历那样把大月改成31天、把小月改成30天,而是每三年或每两年中的末年增加一个闰月,有闰月的一年叫闰年,包含13个月,一般是383或384天,极个别也有385天的。插入某年中的位置也不固定,跟在原来某个月后就叫“闰某月”,所以最后一个月不叫十三月,还叫十二月,也称腊月。
农历为什么不在乎每年的月数不一致而要加闰月呢?
这是因为月亮太美了,太有诗意了,中国古代的天文学家太喜欢月亮了。根据月相的变化,人们不查日历就大概知道某一天是每月的哪一天。
什么是月相?
月球作为地球的卫星不停地围绕地球转动,同时随着地球围绕太阳转。月球本身不发光,却可以反射太阳光,因此人们把月球也叫月亮。月球有时在地球和太阳中间,所以夜间完全看不到月亮,有时和太阳在地球两边,夜间能完全看到月亮,有时在一侧,和地球、太阳呈现为三角关系,能看到一部分明亮的月球表面。这就使得月亮在人们眼中呈现出不同的形状,叫做月相。完全看不到时的月相人们定义为“朔”,圆圆的月亮叫“望”,半圆形叫“上弦”和“下弦”,因为她的轮廓正像射箭的弓弦。弯弯的时候叫新月或残月,新月是从朔开始恢复到望,比喻月亮新生了,残月是从望接近朔,所剩无几了。我们写诗时,常说“残月如钩”,多么浪漫凄美的表达啊!上弦、下弦和新月、残月可以根据弧形的凸出在右边还是左边来区分。凸出在左就是下弦和残月。
月球围绕地球一圈实际是27.32天,但由于月球围绕地球转的同时也随着地球围绕太阳转,于是人们看到的月相从朔到望又从望到朔的一个周期 (朔望月) 最长是29天零19小时,最短是29天零6小时,平均是29.5306天,近似为29.5天,两个周期是59天。于是历法家就交替用一个30天和一个29天作为时间长度单位——月。30天的叫大月,29天的叫小月。每个月的初一对应月相朔,十五或十六对应望。所以人们常说“十五的月亮十六圆”。
中国古代历法学家不愿改变每个月的天数,因为那样就不能反映这种规律了。于是采取闰月的办法尽量与回归年同步。
那么,从某一天开始,最少几年后,加几个闰月才使得农历的各年天数之和恰好等于这些年的回归年天数之和呢?也就是俗话说的“找齐了”呢?这是一个很有意思的数学问题。
答案是: 19年7闰。
古代人是怎样计算的不得而知,现在我们用初中代数方程式可以验证这个答案是非常正确的,尽管仍有极其微小的误差。
假设m 个回归年内有n个朔望月使得天数之和恰好相等,则应有:
365.2422m = 29.5306n
即n /m =365.2422/29.5306=12.368,
我们令m从1开始,n从13开始取正整数,分别计算出方程左右两边的一系列数值,发现当m为19、n为235时几乎完全相等:
365.2422 X 19 = 6939.6018
29.5306 X 235 = 6939.6910
两者仅相差0.0892天,即2小时8分29秒!
因此,若19年内包含235个朔望月,11个19年即209后年误差才累积到接近一天。
如果每年12个月,19年则是228个月,现在应该包含235个月,则多出来7个月,所以19年中应该有12个平年,7个闰年。
因为19不能被7整除,所以不能均匀地每隔几年轮到一个闰年,便计算一下隔多少个月插入一个闰月。因为228/7=32.57,所以理论上应该每32个月或33个月插入一个闰月。因为三年至少36个月,所以三年内必然有一个闰年,而五年至少60个月,接近32.57的两倍,所以大部分情况下连续五年内就会有两个闰年。但“三年一闰,五年两闰”的说法是不准确的,1930~2049这120年中,32次隔两年一闰,10次隔一年一闰。
然而实际上历法家并未完全按31个月或32个月的间隔插入闰月,而是把闰月设置在该年中没有“中气”的那个月份。
新的问题又来了,“中气”是什么概念?
要回答这个问题,自然就涉及到农历中人们津津乐道的著名的“二十四节气”。二十四节气的制定充分体现了中国古代天文学家的智慧。
中国古代是农耕社会,农作物的生长周期是比较固定的,而且是随着太阳回归年周而复始地循环进行的。为了能指导农民按时播种收获,就要求历法确定一个个明确的日期把春夏秋冬四个季节再细分化。前面已经说明了农历的日历各年不同,平年和闰年相差一个月,显然这样的日期是不能准确反映农时的。
人们常说“人误地一时,地误人一年”,错过农时是不行的。为了确定农时的日期,古代天文学家进一步观测一年四季的变化。我们现在都知道地球是围绕太阳转的,这是500年前波兰的天文学家哥白尼发现的,叫做“日心说”。中外古人因为感觉不到地球在运动,以为太阳和所有星辰都围着地球转,叫做“地心说”。
即便如此,中国古代的天文学家也凭观测和想象绘制了圆形的天球图,在这张图上,太阳以地球为中心转动的轨道叫“黄经”。尽管这是错觉,却也反映了地球围绕太阳的公转轨道。既然轨道是圆周,而圆周角是360°,天文学家就按15°划分,把黄道划分为24段,叫做“二十四节气”,表示每一节的气候。每一个节点位置对应一个节气的起始时刻,每个时刻都赋予一个富有诗意的名词,同时把这24个节气又分为两类,其中: 立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪、小寒叫作节气,雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至、大寒叫做中气。一般统称节气。
划分后的各个节点的时间间隔都在15天左右。夏季最长的可能15天加18小时,冬季最短的15天减8小时。为什么不相等呢?这是因为地球围绕太阳转的轨道据现代科学观测其实是一个椭圆,而不是标准的圆圈,所以角度相等但弧长并不完全相等。冬至时地球距离太阳最近是1亿4千7百万公里,夏至时距离太阳最远是1亿5千2百万公里,相差5百万公里。而且距离太阳近时因为引力作用公转速度加快,每秒30.3公里,距离太阳最远时每秒29.3公里,也就是说,每小时相差3600公里。
说到这里,大部分人根据生活常识,可能觉得奇怪,为什么距离热源远了反而热,近了反而冷呢? 这是因为地球自转,有一个假想的地轴(北极和南极的连线),而地轴与公转轨道平面不是垂直的,是倾斜的,夹角是66度34分,冬天的太阳光斜射在北半球上,所以获得的热量就小,夏天几乎直射在北半球,获得的热量就大,这个差别比起距离差别来对温度影响大多了。500万公里的距离差相对于1亿5千万的平均距离而言是1/30,可以忽略不计。同时我们也就明白了,我们过冬天的时候,南半球则过夏天,反之亦然,而赤道附近则永远是夏天。
虽然二十四节气的时间间隔不相等,但是这24个时间段的和却恰好等于一个太阳回归年的时间,真是了不起的发明!所以在国际气象界,二十四节气被誉为“中国的第五大发明”。2016年11月30日,二十四节气被正式列入联合国教科文组织的人类非物质文化遗产代表作名录。
由于农历各年的天数不同,导致每年的节气所在的农历日期毫无规律,一般每个月有两个节气,个别时候有一个或三个,于是有的平年内只有23个,闰年则有25个甚至26个! 但是却和公历日期高度吻合,而且非常有规律。所有“节气”在公历上半年的每月5号左右、下半年的每月7号左右,所有“中气”在公历上半年的20号左右、下半年的22号左右,左右仅差一天,极个别时候差两天。
因此,二十四节气其实反映的是阳历,其日期以农历表示,就是阴阳历了。使用公历后,掌握农时并不需要查农历年日期,按上述规律就大概知道各个节气在公历的哪一天。第一个节气立春必然在2月5号左右,然后依次类推,小寒和大寒自然就在公历年的1月份。由于中国传统节日都是按农历日期规定的,人们已经形成了习惯,取消农历也是不现实的。若按阳历日期过就会每年不同了。
为了突出闰月的特点,把闰月设置在只有一个节气的那个月,这样一来两个闰年的间隔就更不均匀了,有时少于31个月,有时多于33个月。为什么设置的闰月都是只有一个真正的“节气”而没有“中气”的那个月,因为大多数情况下自然如此。当个别情况下有两个只有一个节气的月时,我们就选择没有中气的月份,而遇到个别年份如癸丑年(2033年)应该有一个闰月时,恰有两个月份都是只有一个节气的月,一个含白露,一个含小寒,都无中气,但前者与上一个闰月间隔仅28个月,后者则间隔32个月,显然选择后者合理,于是就把含小寒的月定为闰十一月。
显然,农历与公历比较,公历更科学更合理更清晰,所以现在世界各国通行公历。而中国过传统节日和农村赶大集还是按农历来,农村人还是喜欢在厨房里贴灶王爷,灶王爷不认公历,他还是告诉人们二十四节气的农历日期,所以我国的日历牌还得并行公历和农历,因此,了解一下农历的知识还是有必要的。
2023年2月4日(癸卯年正月十四)立春
(作者为淄博电子工程学校退休数学教师)