中国农历是怎么算的?

1、计算两个冬至的时刻。

2、确认两个冬至之间朔的时刻(月亮运行到地日之间的精确时间),两个朔之间为一个月。朔的时刻所在天为初一,天的划分以北京时间(UTC+8) 00:00:00 为界。

3、计算中气的时刻(地球公转 30° 整数倍的精确时间)。

4、检查两个冬至之间有几个朔,如果有 12 个朔(构成 11 个朔望月 + 1 个朔),则不置闰,就算有月份没有中气也不置闰。如果有 13 个朔(构成 12 个朔望月 + 1 个朔),则继续检查每个月是否都有中气。如果某个月没有,那么该月为闰月,名称延续上一月;如果有两个月没有,那么第一个没有中气的月为闰月,第二个月则不置闰。

朔的间隔不固定,在 29.27 天和 29.84 天之间波动,进而会影响到初一的划分,就会有大小月,即大进和小进。

某种程度上来说,农历是在解决特定条件下受扰动的二体、三体,甚至是多体问题,必须精确计算出每个节气和朔的确切时间。

现在负责编算农历的是紫金山天文台,提前一年发布日历,最新的是二〇二六年的,用的数据也和国际接轨了,美国喷气推进实验室(Jet Propulsion Laboratory)的太阳系模型数据,而且现行农历是有国标的,感兴趣可以去看一下。

现行农历也继承了夏朝和汉代以来的传统,比如「建寅为正」,也就是寅月为正月。

建寅的意思是,北斗七星斗建也就是斗柄,指向寅位。把天赤道当成一个大圆,在上面划分出十二地支,北斗七星斗柄当做指针。古代以黄昏时斗柄指向为准。

天赤道

冬至在斗建指向正北方子位时发生,冬月为子月。建寅为正,如果中间有闰月,比如闰冬月,那么闰冬月也继续是子月,同理,闰腊月继续是丑月,确保寅月为正月。

在卦象上,冬至时为 ䷗,一阳初生,到建寅的时节正好 ䷊,三阳开泰,兆头很好。

把正月当一月,往下数,会发现冬至永远在十一月,它可能在一年的第十二个月,但永远在名为十一月的那个月,所以十一月又称冬月。现在为了方便计算都是直接规定冬至所在月为十一月。

不难理解,因为地支只有十二个,固定死了。从寅数到子,寅卯辰巳午未申酉戌亥子,子位于第十一个。这也就决定了如果子与子之间正好把地支轮完,那么就不需要闰月,而如果中间多出来一个月,那么就需要闰月,不然地支不够用。

农历癸丑年(2033 年 01 月 31 日 - 2034 年 02 月 18 日),冬至日为冬月三十(12 月 21 日)。上一个冬至日在冬月十九(2032 年 12 月 21 日)。中间十二个月份正好一一对应十二地支,虽然出现了没有中气的申月(七月),但依然不置闰。下一个冬至日在冬月十二(2034 年 12 月 22 日),中间十三个月份一一去对应十二地支的话,会发现多一个月,同时冬至后的第一个月没有中气,所以该月为闰月,名称延续冬月,为闰冬月。

正月也不一定非得在寅月,夏朝建寅为正,商朝建丑为正,周朝建子为正,秦朝建亥为正,汉武帝又改回来了,建寅为正。王莽托古改制,建丑为正。武周(唐),武则天效法周朝,建子为正。

三代到秦,每次都提前一个月,很有意思。秦朝采用颛顼历,建亥为正,结合胡亥之亥,联系到亥位于十二地支之末,但又是秦之岁首,不始不终,始于亥历,亡于亥人。

改正朔也合乎礼,《礼记·大传》,「圣人南面而治天下,必自人道始矣。人道谓此五事。立权度量,考文章,改正朔,易服色,殊徽号,异器械,别衣服,此其所得与民变革者也。」

孔颖达注疏,「‘改正朔’者,‘正’谓年始,‘朔’谓月初,言王者得政,示从我始改故用新,随寅丑子所损也。周子、殷丑、夏寅,是改正也。周夜半,殷鸡鸣,夏平旦,是易朔也。」

最后说说 Lunar New Year 与 Chinese New Year 之争,按照中国农历过的年是 Chinese New Year ,因为中国农历对天的划分以北京时间(UTC+8)为准,再加上地月运动不是恒定的,其他国家所在时区不同,计算出来的农历也会和中国不一样,新年时间也就不同。

{中国农历新年}⫋{农历新年},用 Lunar New Year 来指代 Chinese New Year 是不准确的。其他国家的有些人也会过农历新年,如果跟着中国农历过,那么过的是中国农历新年;如果跟着自己所在国农历过,那么过的是所在国农历新年。

Notion