分享

关于农历那些事

 新用户83039534 2020-10-03

原文发表于简书

(一)abpw10字数 2535 · 阅读 272020-01-17 20:56

(二)abpw10字数 3111 · 阅读 592020-01-18 01:15

(三)abpw10字数 3280 · 阅读 522020-01-18 15:09

说起农历,很多人只知道它是中国古代的历法,今天我们只有到了传统节日才会想起它,农历的价值在一点点地缩水。日本人已经废除了农历,虽然他们也过我们的传统节日,但都是按公历的日期过,八月十五也不一定有一轮圆月。实际上,农历原本叫夏历,是中国古代一直使用的官方历法,而且它从被创造出来至今,已经运行了几千年。它也不是一成不变的,计时方法经过了数次修订,其中蕴含了中国古代劳动人民、甚至是外国友人智慧的结晶。

农历只是“月亮历”吗?

我们了解农历,大都从月亮的圆缺变化开始的,人们都知道,农历的一个月就是月亮圆缺变化的一个周期,称为朔望月,初一为朔,十五为望,每个月都是二十九天或三十天,一个月一个月地周而复始。此外,还会注意到,时隔两三年就有闰月,有闰月的年份,比常年多了一个月,这是因为太阳公转一年的周期,比十二个朔望月的周期长一些,最直观地表现为,没有闰月的年份,下一年的农历春节在公历中的日期都比上一年提早11天;为了让农历的年始终能大致和公历的年保持同步,才插入闰月,有闰月的年份,下一年的春节就比上一年推迟20天。所以农历有的年份是355天,有的年份又是385天。可能对于习惯了公历的人们来说觉得不方便,所以它被今天的人们放弃了。看上去农历只是为了与月亮的周期相符,而造成一年的长度都不确定。

根据月球周期制定的历法也有一些众所周知的特点:农历的日期永远和月相对应,只要看月相就知道今天大概是多少日,反过来知道今天是多少日,也能知道今晚的月相,这是公历不可能做到的;外国人需要了解月相的,会把每天的月相画在日历上,不过我们中国人只要知道农历的日期,就大概知道对应的月相。日食一定发生在农历初一,月食一定发生在农历十五,但看公历的日期是没有这种规律的。

根据月球周期制定的历法,不仅有中国的农历,其他地方也有这样的历法,伊斯兰教历就是这样的历法,穆斯林们所过的节日——开斋节、古尔邦节,以及“斋月”,都是根据这种历法。它也是以月亮的圆缺周期为一个月,不过它的每一年都是12个月,不像农历有闰月。所以,伊斯兰教历的每个月和农历的每个月都刚好对应,只不过名称不同——你的三月可能是我的五月,你的五月可能是我的十月。不设置闰月的后果,就是伊斯兰教历的每一年都比公历的一年短!在公历622年到1582年的960年间,伊斯兰教历已经过了989年!你会看到穆斯林的节日开斋节、古尔邦节和斋月有时是在夏天,有时是在冬天。伊斯兰教历是完全不考虑太阳的运动周期,也就是“太阳年”的历法,属于纯阴历。

闰月引发的疑问

农历在历法分类中属于“阴阳历”,虽然我们通常会称它为“阴历”,而实际上,农历与纯阴历的区别,就体现在它和“太阳年”的相互配合,让每一个农历年都和一个阳历年大致对应。前面我们已经提到,增加闰月,就可以校正农历年和阳历年的偏差。关于农历设置闰月的说法,最著名的是“19年7闰”。有了闰月以后,农历年和阳历年能够对应起来,使得每一年的春节都是在冬季。如果你经常注意观察农历,可能会发现一些特点,并产生这样的疑问:闰月加在哪年哪月究竟是怎么决定的?为什么春节最早在1月21日、最晚在2月20日,总是落在这两个日期之间?为什么我们经常看到闰五月、闰八月,很少看到闰正月、闰十二月?

小时候笔者没事时常翻看老爸的老式翻盖触屏手机上的日历,有时看到闰五月、闰八月,就想着到那一年是不是就要过两次端午节或中秋节。那假如有闰十二月,是不是要过两次除夕?为了找出究竟有没有闰十二月,我记得我翻了好多好多年,还真的在有一年看到了,不过现在我已不记得是哪一年了。当时我就想,闰十二月、闰正月这么罕见的原因,应该是有人为规定,少让这两个月出现闰月,否则除夕和春节真的不知道该什么时候过了吧。闰月的安插真的是随心所欲的吗?为什么在网上可以查询到的“万年历”,把几十年、甚至几百年后的农历月日都写得清清楚楚,难道有人早就“钦定”了我们几十年、几百年后,该在哪一天过春节、端午节、中秋节?假如只是在需要跟上太阳运行周期的时候,在任何想要加的地方加上一个闰月,未免显得这种“阴阳历”太没技术含量,也不太有说服力。

对于这些问题,笔者从前除了了解“19年7闰”这一说法之外,关于农历设置闰月的法则当中更深入的细节,鲜少看到有资料提及。但其实,它与月亮和太阳的运动有着密不可分的关系。

二十四节气与农历

二十四节气大家耳熟能详,也知道它是古代劳动人民的伟大发明创造,它可以指导农事生产。但不做深入了解,很难把它与农历的月份和日期联系起来。因为二十四节气的日期总是更多地与公历对应。清明节——一个中华民族的传统节日,它对应清明节气,日期总是在公历4月4日或5日,与其他传统节日相比显得独特。可能有的人会这么说,中国古代没有公历,只有农历,这是一种根据月相制定的历法,但他们创造了与公历对应得这么好的二十四节气作为补充,如果古代人知道公历,可能他们发现二十四节气就会更加容易,甚至有可能都不需要创造二十四节气了!这种说法有些欠妥,事实上,我们的古人早就知道一太阳年是365.24天了。在此基础上创造的二十四节气,是我国古代历法的一部分。二十四节气与我们通常所知的农历月,共同构成了我国传统历法——农历,甚至二十四节气扮演的就是在农历的编排中至关重要的角色!

二十四节气就是把地球绕太阳公转的轨道圆周360°,分成二十四等分,每十五度为一个等分。在国外,人们通常只知道其中的4个节气:春分、夏至、秋分、冬至。歪果仁会告诉你:3月21日春天来了,6月22日夏天到了,9月23日秋天来了,12月22日冬天到了。至于立春、雨水、小寒、大寒等节气,是无法翻译成英文的。中国是一个农业大国,农事生产的需求,促成我们的先辈发展出了对地球绕太阳公转轨道更细的划分——二十四节气。

西方也有一些对地球绕太阳公转轨道的划分方法——十二星座就是我们非常熟悉的,它把地球绕太阳公转的轨道划分成了十二个部分,每个部分都对应着该日期内太阳在天空中所处的星座,又叫“黄道十二宫”。它的起点是3月21日的春分,每年的日期固定,每个星座差不多对应着二十四节气的一个“中气”。不同的是,十二星座最终走向了神学的领域,而中国的节气,从指导农事生产的初衷出发,经过不断的改造,向着科学的方向靠拢,成为量度太阳运行的一把标尺。

二十四节气究竟是怎样决定农历的?农历之所以属于“阴阳历”,在于它不仅仅是根据月亮的周期制定的,它也反映了太阳运动的周期,二十四节气就是其中最显著的部分。二十四节气的周期大约是365天,反映了中国古代的先人们对太阳运动的周期早就有着清楚的认知。那么二十四节气、农历与太阳和月亮的运动具体有什么样的关系?

节气怎样决定农历

在历法中,对二十四节气有着更详细的划分,人们将二十四个节气分成两类:“节气”和“中气”。“节气”和“中气”各有十二个,相间排列。古人视春分、夏至、秋分、冬至等为较大的节气,因此从这些节气开始,此后偶数个节气都是“中气”,简称“气”所以“中气”有冬至、大寒、雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪这十二个。“中气”之间的另外十二个:小寒、立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪,则是“节气”,简称“节”。二十四节气是“节”与“气”,或者说“节气”与“中气”的合称。

我们都知道一年大约365.24天,按照二十四节气是将地球绕太阳公转一周(一个太阳年)二十四等分的定义,每个节气大约是365/24≈15.2天,而相邻两个“中气”的间隔是30.4天,这与月球绕地球转的一周的时间(一个朔望月)约29.5天差不多,但稍长了一点儿。这点差距造成公历的一年不是刚好等于12个农历月。这些时间点可以精确到分,例如我们看到有的台历上会写得很详细:“今日x点x分立春”等等。正是因为“中气”的间隔比一个朔望月稍长,所以一个朔望月中可能没有“中气”。如果前一个中气刚好发生在一个朔望月周期开始之前,而下一个中气则发生在这个朔望月周期结束之后,在这个朔望月中就没有中气。

我们都知道,“夏至”是太阳直射点最北的时刻,“冬至”是太阳直射点最南的时刻,“春分”和“秋分”,是太阳直射赤道的时刻,它们代表的是地球绕太阳公转轨道上的特殊点,由此引出的“十二中气”的概念,就代表使用特殊点对地球绕太阳公转轨道进行的划分。而“朔”代表的是月球运行到地球和太阳之间,“望”代表的是地球处在月球和太阳之间,“朔”和“望”就是月球绕地球运行轨道上的两个特殊点。二十四节气和农历的月份,原来正好分别对应着太阳和月亮的运行!现在最广泛使用的公历,虽然也是根据太阳年制定的,并且将地球绕太阳公转一周的时间分成了12个月,但它的每个月的起始并不对应着轨道上任何特殊点,春分、夏至、秋分、冬至这些特殊点,在公历中的日期也飘忽不定地呈现出1~2天的波动。公历的优点在于每个月的日数固定,便于人们掌握。公历以它的简单赢得了人们的青睐,但不应该忽视农历的二十四节气和月份,对太阳和月亮运行的精确描述!

理论上,公历可以规定任何一天为1月1日,同样,农历也可以规定任何一个月为一月,那么就必须选择一个基准,使大家有章可循。古人认为冬至是一年的开始,至今许多地区还保留着过冬至的习俗,也有“冬至大过年”的说法。可以考证,夏商周时期,“正月”指的是十一月而不是现在的一月。现在仍然看到某些日历上把农历十一月标注为“冬月”,可能我们会觉得那只是省字而产生的简写,为了避免写三个字,农历十二月有别称“腊月”,那么另一个冬天的月份十一月,可以简称为“冬月”而不致引起混淆。其实这是有根据的,因为冬至一定是在农历十一月!

农历的制定就以冬至为起始,冬至所在的那个农历月被定为十一月,冬至是第一个“中气”,理想情况下,不出现前面所述的没有“中气”的月的特殊情况,那我们就可以推出,十二月的“中气”为大寒、一月的“中气”为雨水。这样,每个月份都与一个“中气”对应:冬至(十一月)、大寒十二月)、雨水(一月)、春分(二月)、谷雨(三月)、小满(四月)、夏至(五月)、大暑(六月)、处暑(七月)、秋分(八月)、霜降(九月)、小雪(十月)。可是由于“中气”的间隔比朔望月的周期稍长,根据“中气”的间隔约为30.4天,一个朔望月约为29.5天可以算出,相差大约0.9天。历法大部分时候能够满足每月有一个中气的要求,可是这种误差不断积累,每隔两到三年,难免会出现一个月没有“中气”,那这样月份和“中气”的对应关系不就破坏了吗?为此,古人创造了设置闰月的方法,将这个没有“中气”的月定为闰月,在几月后面就叫闰几月,这样一来,仍然可以保持月份与“中气”的对应关系。这就是农历编排中最重要的法则——“无中气月即置闰”。它将“中气”和月份建立起一一对应的关系,传统农历中,“中气”必定在对应的月份,每个月必定包含对应的“中气”。闰月的产生终于有了解释:“中气”和朔望,分别对应着太阳和月亮的运行,那么“闰月”的出现,是与太阳和月亮的运行紧密关联的!

假如每两个“中气”的间隔完全相等,每个朔望月的长度也完全相等,我们可以计算,29.5/0.9≈32.8,也就是每隔32~33个月,即两到三年,“闰月”就出现一次,这符合我们的认知,至于著名的“19年7闰”之说则也是通过更精确计算得出的结论。

我们都知道,从冬至到下一个冬至的一个周期是大约365天。在从两次冬至之间的一个太阳年周期里,如果存在无“中气”的月,这一个太阳年周期之中就包含闰月,我们把它称为闰周期,这个太阳年周期之中有12个完整的朔望月周期,对应的农历年很可能是闰年。不过,由于现代历法中一年的开始是正月而不是十一月,假如某一年,闰月出现在十一月或十二月的后面,它仍属于这一年,然而由于它已经在冬至之后,包含他的闰周期是下一年。农历年的闰年,与两次冬至之间的太阳年周期是否为闰周期出现了不对应的情况。这只是一个人为规定产生的问题,为什么这个问题很重要呢?因为这个问题后来引发了一些意想不到麻烦,笔者在后面还要介绍。除此之外,农历闰月的产生,仍然是十分理想的将太阳和月亮的运行统合在一起的结果。

不过,要是闰月的产生真的按照我们前面计算出的规律,每隔32~33个月就有一个闰月,那么闰月出现在任何一个月之后的概率应该是一样的呀,那为什么我们现在经常看到闰三月闰四月闰五月闰六月等等,却从来没见过“闰十二月”、“闰正月”呢?

“平气”、“平朔”和“定气”、“定朔”

中气和朔望反映的是地球和月球轨道上的特殊点。了解这套系统,我们就可以从我们的历法中轻易推断出太阳、月亮和地球的相对位置。不过,以上我们的所有分析,都是在假定每两个“中气”的间隔完全相等,每个朔望月长度也完全相等的情况下做出的。古代的历法也确实是这么做的。而事实上,地球和月球的轨道都并非完全理想的,地球和月球运行的速率并不均匀,而是有时快,有时慢,在轨道上特殊点之间运行的时间并非完全相等。因为古人没有条件或能力去精确测定每一个“中气”和朔望月的时间,采用的正是固定节气和朔望月时长的做法,也就假设每个朔望月都等于朔望月的平均长度,称为“平朔”;让每个节气的时长都等于一个太阳年的24分之一,是为“平气”。采用了“平朔”和“平气”的历法,见到闰四闰五月闰六月,与见到“闰十二月”、“闰正月”的概率应该是一样的。

要让历法更精确地反映太阳、月亮的实际运行,就需要去更精确地测定每一个“中气”和朔望月的时间。可能有人会说,我们普通人知道太阳月亮的精确位置有什么用?像公历一样简单的历法完全够用了。古人受技术所限,无法进行更精确地测量。但一旦技术进步,古人还是有对科学的一份执着。例如,“平气”将一年的时间划分为24等分,是按照时间定义节气。如果我们回归节气的原始定义,就能明白它反映的是地球绕太阳公转轨道上的位置,是由空间来定义的。既然节气和朔望的原始定义都是空间的位置,所以一旦古代科学家了解了太阳和月亮运行的“真相”,就会有不断的动力改进历法,使它在反映太阳和月亮的位置方面更准确,精益求精。好在到隋唐时,已能精确测定每个朔望月的长度,在宋朝,历法也用“定朔”取代了“平朔”,以每次月球绕地球真正运行到“朔”点的日子作为每个月的开始。

精确测量每个“中气”的时间要难很多,古人一直没有实现。采用“定朔”和“平气”的历法运行了很多年,平安无事。相比当时西方的天文学家发现公历对太阳运动的描述不精确,从而修改了历法,造成古代的日期都不能用现在的方法去推算了,古代中国这一套综合了月球和太阳的运行制定的历法,确实算是当时比较先进的天文学成果了。

二十四节气与农历有很重要的关系,还蕴含了更深刻天文学的规律。

“节气”的长度与地球公转的快慢

近代以来,西方的科学技术发展逐渐超越了中国,也有很多西方人来到遥远的东方古国与我们进行文明交流,传教士就是其中的一批人,他们在传教的同时,还把西方先进的科学技术一并带到了我国,和我国古代的科技成就融合到一起。他们带来了不少天文学的知识,大大丰富了当时中国人的眼界。在他们了解到了中国的农历以后,就提出可以进行二十四节气时间的精确测量,也就是“定气”。“定气”产生后,农历的历法经历了一次重大的变革。

我们已经知道,二十四节气将地球绕太阳公转轨道划分成了二十四等分,但地球在每一等分内运行的时间都是不同的,这是因为地球绕太阳轨道是椭圆轨道,开普勒第三定律告诉我们,地球在近日点附近运行快,在远日点附近运行慢,也就造成了二十四节气事实上在时间长度上的不等。近现代,地球的近日点出现在公历年的12月末到1月初,也就是冬至、小寒节气期间,而远日点出现在6月末、7月初,也就是夏至、小暑节气期间。所以,冬至附近的节气时间长度明显比夏至附近的节气短。冬至附近的节气短于15天,而夏至附近的节气却可长达将近16天。自然地,相邻两个“中气”的间隔也是冬短、夏长。冬季两个“中气”间隔不足30天,而夏季多于30天。

回想前文中说,农历中,没有“中气”的月就是闰月。朔望月的长度都是29.5天左右,朔望月之间长度的差异,比“中气”的间隔在夏季和冬季之间的差异小得多(这可以从农历采用“定朔”后,所有月份仍然不是二十九天就是三十天看出)。所以,在“定气”的情况下,因为冬至前后“中气”间隔较短,跟一个朔望月的长度差不多,不太容易出现没有“中气”的月;而夏至前后“中气”间隔长,夏至前后的月份就相对更容易出现闰月 。

清朝时期,我们的历法正式改用了“定朔”“定气”的方法。“定朔”“定气”的农历,每个月份和节气都精确反映了地球和月球在轨道上所处的位置,按道理说应该是更科学了。既然农历的年月日是和太阳、月亮的运行规律“绑定”在一起的,那么在计算机的辅助下,能算出几百年、几千年后的农历就一点儿也不奇怪了。可是万万没想到,“定气”带来了新的麻烦。

“定气”带来的新挑战

“定气”后,每个节气长度不再是相等的了,这使得“中气”与朔望月的时间差不再以恒定的速率累积,闰月出现的间隔不固定了。而且,更麻烦的是,相邻“中气”的间隔有时候比一个朔望月长,有时候却比一个朔望月还短,这使得有的月份没有“中气”,有的月份却有两个“中气”。以前的“平气”农历中,每个月份要么有一个中气,要么没有中气,一般月份每个月都包含且仅包含对应的“中气”,闰月没有中气,但“定气”使得这一规律不再适用了。很明显,在两次冬至之间的一个太阳年周期中,“中气”的个数为12个,而朔望月的起始——朔的个数可能是12个或13个。假如在两次冬至之间的太阳年周期中有13个朔日,那么这个周期是闰周期,必定有一个月没有“中气”。但是,假如一个月有两个“中气”的情况发生了,情况变得复杂许多:首先,如果周期不是闰周期,而其中某月有两个“中气”,那必定有一个月没有“中气”;如果是闰周期,本来就该有一个无“中气”的月,要是还有某月包含两个“中气”,那就还会有另外一个月没有“中气”。也就是说,非闰周期中也可能出现无“中气”的月,而一个太阳年周期中可能包含了不止一个无“中气”的月。而理论上,在一个太阳年周期中出现更多的双中气月和无中气月都是有可能的。“无中气月即置闰”的规则似乎行不通了,农历历法编排的原则受到了极大的冲击和挑战!

根据我们一般的认知,农历平年有12个月,闰年有13个月,这样才能保持跟太阳年的基本对应。所以就必须再制定一种规则,把闰月的数量控制在每个闰周期中有且只有一个,非闰周期中不能有闰月。由于农历是从冬至起始,仍然规定冬至所在的月份为十一月。于是产生了采用“定气”后农历设置闰月的新规则:如果两次冬至之间的一个太阳年周期中有12个朔日,则这个周期不是闰周期,不需置闰月,即使有无“中气”的月也按照一般的月份对待,不需要置闰;如果两次冬至之间的一个太阳年周期中有13个朔日,则这个太阳年周期是闰周期,无论其中有多少个无“中气”的月,只选择其中的第一个“中气”的月置闰月,而其余“中气”的月都按一般月份对待,给予月序。这是一种折衷的办法,它保持了农历年和太阳年的基本对应,但闰月和“无中气月”不再是严格对应的关系,而除了冬至仍然固定在十一月外,其他“中气”和农历月份的一一对应关系也不再是笃定无疑,而是有可能出现例外情况。

有了这一规定,哪些月是闰月、哪些月不是闰月应该有章可循了。这也正是我们沿用至今的历法。不过,在编排历法的过程中,由于农历年的起始点正月初一春节,和二十四节气的基准——太阳年周期起始点——冬至之间的不一致,产生了一些歧义,如著名的2033年问题就是这样的一个例子。

如果我们观察2033年~2034年的日历,能够发现,从2033年冬至到2034年冬至的一年里有十三个朔日,应该是一个“闰周期”。这个“闰周期”又恰好包含了不止一个无“中气”的月,第一个就是2033年农历十一月之后的一个月,第二个是农历2034年年中的某个月。根据“置闰规则”,显然这个“闰周期”中的闰月应该是这个周期中第一个无“中气”的月——2033年农历十一月之后的这个月,为闰十一月,这样实际上,农历2033年为闰年。但有的人根据2033年冬至到2034年冬至的太阳年周期为闰周期,认为2034年为闰年,从而不认为2033年农历十一月之后有闰月,将农历2034年年中第一个无“中气”的月置为闰月。这造成了2034年的春节在哪一天有两种版本,之间相差一个月。或许到了不久的将来的2034年,我们可能真要纠结春节什么时候过?这是由于“闰年”和“闰周期”不统一产生的歧义,但认真按照规则来求解,这个问题的正确答案还是非常简单明确的。

“定气”引进的新问题看起来让农历显得不那么优美而自然了,在“平气”农历中,闰月和非闰月有着极其清晰的分别,闰月的出现极为规律,一般的月和“中气”也是严格一一对应的。所以有的人也主张为了消除可能的问题,应该恢复采用“定朔”、“平气”的农历。但大自然的真实状态并不总是整齐划一的,这种看上去的混乱,更贴近于大自然的真实状态,不规则的自然也是一种美。如果能在采用“定气”的同时,更大限度地保持规律性是最好的,不知道我们后来的人有这样的智慧吗?

算算春节的日期

在了解了农历编排的法则之后,我们能计算出春节的日期会出现在什么范围内。我们已知春节是农历正月初一,冬至一定在农历十一月。冬至总是在公历的12月21日至23日之间。那么理论上的最早春节,就是当冬至在12月21日,而12月21日恰好是农历十一月的最后一天,且农历十一月、十二月之后都没有闰月,这样12月22日是农历十二月初一,而且我们希望农历十二月是小月,只有29天,这时我们可以得出正月初一也就是春节会在1月20日。而理论上的最晚春节,则是当冬至在12月23日,而且12月23日恰好是农历十一月初一,农历十一月、十二月都是大月有30天,这样1月22日是农历十二月初一,2月21日就是正月初一春节。有没有可能十一月、十二月之后还出现闰月呢?十一月、十二月出现闰月,确实是有可能的。不过实际上,倘若冬至刚好是十一月初一,这个太阳年周期是不可能为闰周期的,也就不可能有闰月,所以,春节最晚确实只能是2月21日了。

我们的古人在长期观察和实践中,将自己能观测到的全部天文现象,也就是太阳和月亮的运行规律,浓缩在了一部厚重的农历之中。农历虽名为“农”,可绝不仅限于农业生产,它其中蕴含着多么丰富的天文规律!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多