1793
需用时 03:35
为何今年过年晚?

春节的具体日期,在很多人的眼里都像是足球比赛结果一样,不可预知。但其实春节并没有那么捉摸不定,一切还得从历法说起。

公历(格里高利历)和农历(夏历)是中国目前通用的两套历法系统,平时多用公历,因为它比较精确。但在像春节这样的传统节日附近时,用农历就显得更为方便了。

这两种历法都来自于对大自然的观察。农历是一种阴阳合一历,历法的核心是根据月球的盈亏周期确定“月”。这样的月十分精确,但是没有办法得到我们习惯的“年”。所谓年,指的是地球上的一个寒暑周期,即“回归年”。回归年的长度不是农历月的整数倍,为此,农历采用了设置闰月的办法使得自己的“年”的平均长度接近回归年。

决定寒暑变化的是太阳的高度,从天文学上看,是太阳在黄道上的位置——黄经。在农历中,另有一个独立于“月”之外的概念与黄经紧密联系在一起,这就是节气。现代意义上的节气,是指太阳经过黄道上某个位置的瞬间,比如,春分时太阳黄经为0度,立秋时是135度。24节气能精确刻画太阳在黄道上的位置,从这个意义上来说,节气是“回归年”的非常客观的参照系。

而公历则是一种纯粹的太阳历,制定的主要依据就是太阳的运行。因为采取的是相同的参照系,所以节气与公历日期的对应非常精确,就像“节气歌”中说的,“最多相差一两天”。

了解了这些背景之后,我们才能真正地定义“早晚”这个概念。不难发现,今年的春节在一个回归年之内的位置的确更靠后了:去年的大年初一在1月23日,大寒之后的第二天,而今年的大年初一在2月10日,立春之后的第六天。二者相差18天,一个多节气,可见大家“过年晚”的直觉是非常有道理的。

春节在哪一天是怎么定的?

春节在不同时代有不同的名称,如元日、正日、元旦等,直到近代才正式定名为“春节”。无论叫什么名字,其含义都是一年的第一天。那么,这一天是如何定出的呢?

首先它必须是一个月的第一天,农历确定月初很简单,取朔日即可。在这一天中的某一刻,太阳和月亮的黄经度数相等,因此完全看不到月亮。

朔日是无法人为选择的,如何选择“正月”,则带有更大的人为性。在历史上,正月的选择有过几种方案,传说夏商周三代分别“建寅为正”、“建丑为正”、“建子为正”。这里的“建”就是“斗建”,即黄昏时刻北斗斗柄所指的方向。现行农历之所以叫“夏历”,是因为它用的是夏正,即以寅月为正月。

冬至是确定一年长度的一个重要节气,它所在之月称为子月。冬至之后的第二个月为寅月,寅月的初一是春节——这个重要的传统节日于是就这样被确定了。严格来说,存在冬至所在月之后第三个月才为寅月的情况,即这两个月之间出现了闰月(闰月是不另分配干支的),当然这种情况十分罕见。

说到斗建,一个斗建周期的时长是一个恒星年。只是1恒星年≈1.00003878回归年,差别非常小,所以在几百年内,可以将二者视为等同,因此虽然不精确,春节的平均日期也算是与回归年挂上了钩。

春节对应的日期有周期吗?

我们知道农历的平均历月是一朔望月,等于一个月相周期,29.5306日;要让农历的平均历年是一回归年,等于一个寒暑周期,365.2422日,则平均一年需要有365.2422÷29.5306≈ 12.3683个月。年与月之间的非整除关系只能用闰月来调整:即平年有12个月,闰年有13个月,平均每年有0.3683个闰月。用连分数逼近法,我们可以得到置闰的周期。

逐级截取,得到这样一个近似数列:

     1/2、1/3、3/8、4/11、7/19、116/315……

在其中可以看到置闰的近似规律:2年1闰、3年1闰、8年3闰……,越往后面越精确,但也越复杂。在生活中,人们常用的是“19年7闰”,即每19年中有7个闰月。(应该强调的是,现行农历不再使用固定的置闰周期,而是用定气法,根据日月的实时位置来设置闰月。)

这个近似有多大误差?在19年中,共19×12+7=235个朔望月,235×29.5306=6939.691天,而19个回归年共有19×365.2422=6939.6018天,两者仅相差约0.0892天,即2小时8分钟。由此可见,虽然闰周只有近似的意义,但“19年7闰”的规律在几百年之内还是有效的,所以很多历法现象都是以19年为周期或近似周期,春节就是一个例子。也就是说,每隔19的倍数年,春节的公历日期会在一天的误差内重现。

春节的日子有简单的计算方法吗?

我们列出2006-2025这20年的春节公历日期:

表中序列号是指本年在“19年周期”中的序号。2025年属下一周期,将其列入是为便于首尾衔接。

横轴是在一个周期中的序号,比如2013年是第8号。纵轴是公历日期,分布在立春两侧。蓝点是该年的春节日期。

春节分布在大寒(1月20日左右)至雨水(2月19日左右)之间,其平均日期恰好是立春日,所以称其为“春节”是名副其实的。如果你在折线图上还没有看出什么规律的话,也不用太着急,下面的“春节钟”会更加直观。

春节的具体日期,可用“钟面算数”去计算。在钟面上,用12小时计时法,数字之和超过12的要减去12,差为负值时要加上12。比如7点之前9个小时,为7-9+12=10点。公历平年365天,农历平年有353、354、355三种天数,取中间值,则在无闰月的情况下,每年春节比上一年提前365-354=11天。但当推算出的日期超出了大寒至雨水的范围时,就要加上或减去30天,这个时间是由闰月贡献的。不过,由于历年的不确定性,这样得到的日期可能有一天左右的误差。2012年春节是1月23日,减去11天是1月12日,早于大寒,所以再加上30天,得到2月11日。而2013年春节是2月10日,误差一天。

如果对照图中的“春节钟”的话就更方便了,要知道下一年的春节,无需考虑加减30天的问题,只要把“时针”逆时针拨11天就可以了!

The End

发布于2013-01-23, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

微分流形

理论物理硕士生

pic