“阴历”描述的是月球绕地球的转动,前面说过,这个周期是27.32天,但这却不是月圆月缺的周期,为什么呢?我们首先要知道,月亮的阴晴圆缺是来自于太阳光的反射。正如太阳只能照亮地球的一半,它也只能照亮月球的一半,这才有了“朔望月”。
朔望月 | 图源:zhihu.com
在“朔”对应的这一天,月球位于地球和太阳之间,以黑暗面朝向地球,且与太阳几乎同时出没,故地面上无法见到月亮,这就是朔,这一天为农历的初一。在“望”对应的这一天,地球位于月亮与太阳之间,这时,月亮被太阳照亮的半球朝向地球,银色的月光洒在大地上,我们就见到了满月,这一天为农历的十五左右(为什么这里写“左右”?后文会给出答案)。
朔望月 | 图源:baike.sogou.com
回到我们的问题,为什么月圆月缺的周期不是27.32天呢?可能有人已经发现了问题所在——27.32天只是月球绕地球转动的周期,而月圆月缺除了与地球相关,还包括“太阳”的作用!所以必须再引入地球绕着太阳的运行。
地球-月亮体系的引力中心围绕着太阳作椭圆运动,地球和月亮还围绕着地月之间的一个固定点作定期的摆动,这个点位于地表下面约2000千米的地方(以这个作为提示,读者可以试着解释一下为什么地球上潮汐涨落的周期是12小时,而不是24小时?将你的想法写在评论区和大家讨论吧),且月球轨道(白道)平面对地球轨道(黄道)平面的平均倾角为5.13°。
于是,月球的运动由于太阳、地球和其他星球的作用而不断地扭转变形,这些都不是规则的运动。正如两次日出之间的时间间隔往往不是恒定的,只能取平均日24小时;两次新月之间的时间间隔也不是一成不变的,最大值和最小值之间有约14个小时的差别,所以也只能取平均周期29.54天!
说到这里,我们便能初步回答本片推文题目中所提出的问题了——为什么今年没有大年三十?
相比于月球绕地球转动的周期而言,我们的祖先更容易观察到月亮的圆缺,是故以上面说的“朔望月”周期29.54天来制定一个月的天数,认为大月30天,小月29天,轮流交替。另外一般而言,农历大月时月亮是十六圆,小月是十五圆。
因此,这个大月和小月并不像公历的口诀“一三五七八十腊,三十一天永不差”那样是固定的,而需要依照朔望月的周期,不时地在29天的月份里加上1天,以使之与月相一致,必须保证“朔日”是初一!所以原则上说,每一个月都可能是大月或者小月,这样,今年没有大年三十也就不足为奇了。
至于究竟是哪一个月需要加上这多出来的一天,则需要通过月球、地球的运行轨迹来进行推测,找出“朔日”所对应的那一天,这就比较复杂了,需要利用模型来进行精准预测。事实上,我国在2017年颁布的《农历的编算和颁行》国家标准中就提及了判定“朔日”的严格要求——“朔和节气的北京时间计算精度应达到1s”。
《农历的编算和颁行》| 图源:openstd.samr.gov.cn
目前为止,虽然我们已经知道了关于“大年三十时有时无”这一现象的原因,但这还远不是农历的全部。
还记得我们说过“农历是阴阳合历”吗?现在我们知道“阴”指的是月亮的圆缺,即朔望月,来自于月球绕地球的转动以及太阳的照射。那么如何将月球的运行与地球的公转结合起来呢?也就是说,“阳历”与“阴历”是如何协调的?
在前面内容的基础上再多想一想,我们便会发现一个问题:农历的每个月最多也只有30天,那满打满算,一年12个月也只有360天。但我们前面说过,一个平均年是365.2422天,长此以往,农历和公历不就对不上了吗?
事实正是如此,所以智慧的人们提出了“十九年七闰法”,也就是每19年中,插入7个多余的月份,并将该月份称为其前面的一个月份的“闰月”。也就是说,19年是农历与公历重合的周期,不知道你19岁生日的公历和农历是否是同一天呢?
接下来我们详细探讨一下闰月的制定规则,这一部分并不需要高深的数学知识,小学基础就已经足够,只是有点繁琐。不感兴趣的朋友可以直接跳过此部分。
公历中的“一年”是由两个元旦之间的时间间隔来确定的,那农历的一年又是如何确定的呢?
古人曾经在地面上竖起一根柱子,观察其正午时刻在太阳照射下的影子长度,发现影子的长度是呈周期变化,于是对于影子最长的那个时刻,取了一个专门的名字——冬至。基于此,古人便将两次冬至之间的时间间隔定为“一年”。但注意,一年的初始并不是冬至,而是大年初一。
不错,谈及“闰月”,则必须要请"二十四节气"出山了!
在此之前,我们需要知道一个定义,这也是唯一需要知道的定义——中气。列举出二十四节气,从冬至开始的逢奇数序的节气,则称为中气。
图中圈出来的节气为中气
接下来,忘掉其他的节气,只需要记住冬至和这11个中气。
规定冬至所在的这一个农历月必须是十一月。这样,便会出现三种典型的情况。掌握这三种情况,便能知道闰月的规律了。
情况一:两个冬至所在的月份之间相差11个月。这是最理想的情况,每个月分到一个中气,便没有闰月。
情况二:两个冬至所在的月份之间相差12个月,有某一个月份没有分到中气。没有分到中气的这个月便是闰月了。那它是闰几月?我们规定,将冬至之后的第二个农历月定为正月,往后数,进行编号,然后把这个月作为它前面一个月份的闰月。
如上面这张图,轴上方的5号小满和6号夏至之间存在没有分到中气的一个农历月,在如下编号之后,发现它前面那个月是四月,它便是“闰四月”了。
情况三:两个冬至所在的月份之间相差12个月,但有某两个月份没有分到中气。这是比较罕见的情况,但确实会发生。
如上图。在这种情况下,规定是将两个冬至之间出现的第一个不含中气的农历月定为闰月,然后去掉这个闰月,往后数第二个农历月作为正月,依次编号。因此,在下图所示情况下,这个闰月便是“闰十一月”了。
至此,我们已经基本了解了农历的规则。但其实还有许多问题没有解决,例如为什么会出现两个立春或者没有立春?在国家标准颁行前采取的是怎样的规则?古人的农历历法和现在有什么区别等等,感兴趣的读者朋友可以阅读参考资料中所列举出的相关书籍。