Get the extension

Original explainer

农历是怎么算的?

How does the Chinese lunar calendar work?

2025年的春节是1月29日,2026年的春节却到了2月17日,相差将近三个星期。难怪很多外国朋友会疑惑:中国人最重要的节日,为什么每年都不固定?其实,春节的日子一点儿也没变,它永远是农历的正月初一。变的,是农历和公历之间的距离。

农历的“月”,是跟着月亮走的。月亮从完全看不见,到慢慢变圆,再到重新消失,一个周期大约是二十九天半。所以,农历每个月的第一天,也就是初一,夜里几乎看不到月亮;到了十五前后,月亮最圆。中国有句俗话,叫“十五的月亮十六圆”,说的就是月亮有时要晚一天才最圆。因为周期不是整数,农历的月份,有的三十天,有的只有二十九天。

问题恰恰就出在这里。十二个这样的月加起来,大致只有三百五十四天,比地球绕太阳一圈的三百六十五天少了大约十一天。如果不管它,春节就会一年比一年早,大约十几年以后,就会变成一个夏天的节日。伊斯兰教的历法完全按照月亮计算,结果斋月有时在炎热的夏天,有时在寒冷的冬天。

为了弥补这个误差,古代的天文学家想出了一个巧妙的办法:每隔两三年,就在一年里多加一个月,叫做“闰月”。十九年里大约要加七次,有闰月的那一年,一共有十三个月。加在哪个月后面,要看二十四节气,也就是说,要看太阳的位置。所以,农历其实不是纯粹的“阴历”,而是一套同时兼顾月亮和太阳的历法。正因为这样,春节一般是冬至以后的第二个初一。在公历上,它总在1月21日到2月20日之间,有早有晚,却总是在冬天快要结束、春天快要来临的时候。

今天,中国人上班上学用公历,逢年过节却依旧看农历。很多老人也习惯过农历生日,所以他们的生日在公历上每年都不一样。下次过春节,你不妨抬头看看夜空:除夕那天晚上,天上是没有月亮的。中国人在一个看不见月亮的夜晚迎接新年,十五天以后,又在元宵节这一年的第一个圆月下,把年过完。