中国历法的时间机器 作者主页

观天授时 · 一部可以拖动的历法

天上有两只钟合写人间一部历法。

月份 · 节日

节气 · 农时

一只跟着月相,一只跟着季节。它们走得并不一样快,中国历法要做的,是让两种时间长期协调。

从一天开始
两只天上的钟一只看月相,一只看季节
一日地球自转一月月相循环一年太阳周年运动
月亮定月怎样让月份不离开季节?太阳定岁

壹 · 发现第一只钟

一天,
从哪里来?

拖动一天。无需记忆,只看太阳如何再次回到天空。

太阳日Day 1

地球自转一圈,就是一天。

贰 · 发现第二只钟

一个月,
从哪里来?

先拖动月亮。等它重新回到“朔”,答案才会出现。

🌑 初一 Day 0

朔 · 月亮几乎不可见

🌑 初一🌓 初七🌕 十五🌗 二十三

月相重新开始:≈ 29.53 天

叁 · 把镜头拉远

一年,
从哪里来?

拖动太阳走过黄道:对中国所在的北半球是夏天时,南半球正是冬天。

🌸

中国 · 北半球

北半球三月
南半球季节相反

北半球风暖,南半球转凉

季节重新开始:≈ 365.24 天

肆 · 问题出现了

两只钟,
走得一样快吗?

把十二个月推到一年终点。注意两个数字怎样分开。

🌙 月份0第 1 月
相差 0 天
☀️ 季节0

坏了:十二个朔望月只有约 354 天,比季节的一年短约 11 天。

伍 · 让误差继续累积

如果只跟着月亮,
春节会去哪里?

这里暂时不置闰。拖过十年,观察一个月相节日相对季节的位置。

❄️
🌲
春节
没有闰月的假想历法第 1 年

相对季节提前 0 天

仍在冬季

如果一直只按月亮走,节日终究会走遍四季。

陆 · 把两只钟拉回来

怎么办?
多放一个月。

误差接近一个朔望月时,试着把一个月放回年中。

🌙 三个平年
1063
☀️ 三个回归年
1096
一月二月三月四月五月六月闰六月七月八月九月十月冬月腊月

现在还差约 33 天。

直觉:误差积累到接近一个月,加入一个月,就又靠近季节。

柒 · 但究竟闰哪一个月?

不是固定三年一闰,
要回头看太阳。

二十四节气交替分成十二个“节”和十二个“中气”。月份由相邻两次朔划定;需要置闰时,则检查哪一个朔望月没有中气。

🌙 朔望月约 29.53 天

两次朔之间,就是一个月

☀️ 相邻中气平均约 30.44 天

雨水、春分、谷雨……每月一个刻度

完整置闰规则先判断要不要闰,再判断闰哪一月
  1. 先定十一月

    包含冬至的农历月,固定为十一月。

  2. 再数有几个月

    从这个十一月开始,到下一个十一月之前:若只有十二个月,不置闰;若有十三个月,才需要置闰。

  3. 寻找第一个无中气月

    在这十三个月中,从前往后找到第一个不包含中气的朔望月。

  4. 沿用前一个月的月名

    它就是闰月。例如前一个月是六月,这个月便称“闰六月”;后面的月名依次顺延。

关键:“没有中气”负责决定闰哪一月;“两个冬至月之间出现十三个月”才负责决定要不要置闰

下面只演示第三步中气怎样越过月界,留下一个无中气月?

太阳刻度
大暑处暑秋分
月亮划月
六月有中气
七月有中气
八月有中气

现在三个朔望月各自都有一个中气。

捌 · 太阳留下的刻度

节气,
为什么存在?

同一个时刻,两种视角:左边看地球公转到哪里,右边看太阳在天赤道以北还是以南。每经过黄经 15°,一个节气点亮。

从太阳系外看地球绕太阳的位置
从地球仰望太阳相对天赤道的位置
太阳视黄经 315°立春

🌱春季开始,万物渐苏太阳位于天赤道以南约 16.6°

节气记录的是太阳位置,不是月相。

玖 · 两只钟,一部历法

把 2026 年,
完整画出来。

两条时间轴共享同一天:太阳轴记录公历月份与节气,月亮轴记录朔、农历月份与传统节日。拖动日期,天体关系与两套历法同时变化。

公历2026 年 1 月 1 日
农历冬月十三
月相盈凸月
节气冬至后
☀️ 太阳轴公历月份 · 二十四节气
🌙 月亮轴朔 · 农历月份 · 传统节日(2026 无闰月)
🌙 月相确定月份中国历法☀️ 太阳位置确定节气

它不是单纯的“阴历”,而是一套同时跟踪月亮与太阳的阴阳合历。月份依据朔望月确定,节气依据太阳位置确定;通过置闰,月份与季节长期保持协调。

据与界

数字从哪里来?

本页用匀速圆周与平均周期建立直觉,不用于推算真实日期。实际农历依据日月的真实天文位置编算;置闰还涉及冬至月与中气等完整规则。