茉莉花新闻网

中華青年思想與行動的聚合地

为什么现代不重新测定农历了?

闰月不是 bug,是 feature。

题主跳过是不是直接问为什么的毛病已经有很多回答吐槽,我就不重复了。这里主要想重点说说「现代」农历是怎么定下来的,属于回答「How」。

要弄懂现代农历编排逻辑,最权威的参考就是 2017 年颁布的推荐性国家标准GB/T 33661-2017《农历的编算与颁行》。这份标准不难找到,在线即可预览[1],其中最关键的是以下几行文字:

v2 5298b738c518973e3a6611e42c6fced9 720w
图︱GB/T 33661-2017《农历的编算与颁行》

如果你没时间通读整份标准,截图的内容是整个文件最精华的部分,可以说就是现代农历的本质。下面我尝试带大家理解这两百余字背后的内涵与逻辑。


我们先看现代农历的编排规则,首先是 4.1

4.1 以北京时间为标准时间

作为一部要在中华人民共和国境内行用的历法,基于北京时间制定是非常合理合法的事情。北京时间 0 时~24 时为一个农历日。

然后是 4.2 和 4.3

4.2 朔日为农历月的第一个农历日
4.3 包含节气冬至在内的农历月为农历十一月

如果你一直不理解农历为什么是阴阳历,这两条规则就是最好的解释。

首先一个农历月的第一天是由朔日决定的,所谓朔日是指包含朔在内的农历日。那么何为「朔」呢?朔指的是月球和太阳的地心视黄经相等的时刻,也指这一时刻的月相。这一条规则显然对应了农历之中与月球相关(阴)的部分。

4.3 规定包含冬至的农历月为农历十一月,冬至在天文学上指太阳地心视黄经为 270°的时刻。虽然农历一年的是以农历正月为起始月(见 4.5),但定位正月的前提是确定农历十一月。可以说冬至时刻才是农历真正的起算点,以历法的术语表示,冬至是农历的历元,而正月初一是农历的年首。规则 4.3 无疑体现了农历之中「阳」的部分。

4.4 是关于农历置闰的

4.4 若从某个农历十一月开始到下一个农历十一月(不含)之间有 13 个农历月,则需要置闰。置闰规则为:取其中最先出现的一个不包含中气的农历月为农历闰月

在以 4.2 和 4.3 确定农历十一月初一的位置以后,接下来就是确定从一个农历十一月到下一个农历十一月(即下一个冬至所在的农历月)的月份编排。

方法也不难,首先找到朔日,相邻两个朔日之间就是一个农历月。这时候不要急着给农历十一月之外的月份命名,首先要数一数两个农历十一月之间有多少个月份,如果有 11 个农历月(不包含两个农历十一月),就正常按时间先后顺序命名为十二月、正月......到十月;如果两个农历十一月之间出现了 12 个农历月,就意味着有一个农历月需要特殊处理。2025 乙巳蛇年之所以是闰年,因为从 2024 年冬至日到 2025 年冬至日之间有 12 个完整农历月。按照规则,这 12 个农历月中会有一个闰月。

如何找到这个需要特殊处理的月份呢?这时候再次涉及到农历的阳历部分:我们要找到除冬至以外剩下 11 个中气[2]的时刻,看看 11 个中气分别在哪个农历月中,首先出现的没有中气的月份就是我们要找的特殊月份,称为闰月。闰月之外的月份正常命名,闰月则以其前一个正常月份的名称前加「闰」的方式命名。以即将到来的 2025 乙巳蛇年为例,这一年的大暑(7 月 22 日)和处暑(8 月 23 日)之间存在一个完整的农历月,这个农历月是该冬至周期(2024 年 12 月 21 日~2025 年 12 月 20 日)的第一个无中气农历月,属于闰月。该闰月前一个农历月是六月,所以这是一个闰六月。

v2 f3684e22d90683c6709efd571c53b630 720w
2025 乙巳蛇年有闰六月

我想置闰这一条农历规则可能是题主最大的疑问。只要农历还是一种阴阳历,坚持调和阴阳的目的,其置闰方式就不可能像公历一样在某些年份添加闰日来解决,而是必须添加一个完整历月以匹配月球的运动。闰月不是农历的 bug,而是阴阳历的 feature。

现代农历编算规则的最后一条

4.5 农历十一月之后第 2 个(不计闰月)农历月为农历年的起始月

可能有些同学不解为什么这条规则要放在最后,特别是为什么要放在农历置闰规则的后面,直接说农历正月是农历十一月之后第 2 个月不对吗?还真不行,因为闰月完全有可能会在农历十一月和农历正月之间出现(如 2033 癸丑牛年闰十一月),这时候正月就会是十一月之后的第三个农历月。

v2 cb81cb82d8f8fbe81b06baac236e4ba2 720w
2033 癸丑牛年闰十一月

综上,现代农历编排的逻辑链为:

  1. 根据月球位置确定朔日,即每个农历月的初一。从一个朔日到下一个朔日(不含)为一个农历月,此时可知每个农历月的大小(大月 30 日,小月 29 日)
  2. 根据太阳位置确定冬至时刻,冬至所在农历月为农历十一月
  3. 结合 1、2 给出连续两个农历十一月之间的农历月数量,判断是否需要置闰
  4. 如需置闰,根据太阳位置确定中气时刻,首先出现的一个不包含中气的农历月为农历闰月
  5. 农历十一月之后第 2 个(不计闰月)农历月为农历年的起始月
  6. 结合 1~5 确定正月初一及全年日期编排
v2 bea3d3eef51e62a1158bf26c038ede03 720w
农历编排简明流程

可以看到这一套流程还有两个大前提,就是需要精确的太阳和月球位置,这就是为什么我说国家标准中第 5 部分同样关键。

5.1 太阳和月球的位置按国际地球自转和参考系服务规范规定的模型计算
5.2 朔和节气的北京时间计算精度应达到 1s;不计及编算时尚未正式发布的闰秒

现代农历的编排规则其实与明末以来的官方历法大体一致,现代农历置闰规则的前身「无中气置闰」更是自西汉太初历起便有之。现代农历之所以现代,正是因为接轨了现代天文学,太阳和月球位置以及相关的朔与二十四节气时刻都是基于现代天文学模型的计算结果。如其他答主所言,「现代不重新测定农历」属于伪命题。


负责制定该农历国家标准的中国科学院紫金山天文台撰写了一份关于该标准的解读材料,见

P020240201504886119982.pdf

另外还有历法常见问题解答,可参考

历书科普问题解答 -- 中国科学院紫金山天文台

同类信息

查看全部

茉莉花论坛作为一个开放社区,允许您发表任何符合社区规定的文章和评论。

茉莉花新闻网

        中国茉莉花革命网始创于2011年2月20日,受阿拉伯之春的感召,大家共同组织、发起了中国茉莉花革命。后由数名义工无偿坚持至今,并发展成为广受翻墙网民欢迎的新闻聚合网站并提供论坛服务。

新闻汇总

邮件订阅

输入您的邮件地址:

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram