Hello 天文

复活节为什么每年换日期,有时还不在同一天?

把同一年翻成两张日历,看规则怎样选出星期日。

时间与历法

安排春季活动时,你发现复活节每年日期都不同,不同传统有时也不在同一天。这不一定是谁算错了,而是历法与采用的计算规则不同。

打开互动课程 →

先猜一下

两种传统选择不同的复活节日期,就一定有一方把天上的满月算错了吗?

查看答案与解释

不一定,采用的历算规则不同 — 这里使用规定的教会历算,不能简单等同真实满月时刻。

再把体验和科学连起来

先选年份和历法规则

每年的日期不固定。两张日历都换成公历日期显示,避免把不同历法标签直接相减。

输入年份 + 公历或儒略历算法

这不是“找真正满月后第一个周日”

复活节算法使用教会历算的满月和固定的春分界线,不能直接拿现代天文满月时刻替代。

教会历算规则 ≠ 实际满月观测

看两种规则是否选中同一天

公历算法和儒略历算法可能得到不同的星期日,也可能碰巧相同。右边始终说明原历法与公历换算。

先算历法日期,再用 JD 转为公历

日历算法必须用整数运算

余数和取整的微小错误可能让日期错一天。检验结果应是星期日,且在各自历法的 3 月 22 日到 4 月 25 日之间。

整数商、余数与星期检验

先选公历或儒略历规则,再做整数商与余数运算,最后得到月、日并转换日期。这是教会复活节历算,不能以观测到的满月替代中间规则。

试一试

比较 2024 年,再看 2025 年。橙色日历是当前选择;两张日历的“大日期”都已换成公历。

动手看一遍 →

符号不用背

JD
用于把同一天从一种历法标签换成另一种
mod
整数除法的余数
公历/儒略历
两套历法,不是两种时区

算法、精度与适用范围

依据第二版第8章印刷页67–70,含公历与儒略历复活节算法。程序限定1600–2399年,核心算法可检验范围1583–4099。公历规则无高斯特殊年份例外补丁;取整和余数均为整数运算。儒略历结果先转JD再显示公历,不固定加13天。原书1818、1954、1991–1993、2000等例用于校验。未模拟宗派全部历史政策或精密月相。

我的理解检查

大日期统一显示为哪种历法?

公历 — 先统一到公历才能直接比较两个日子。

复活节规则里的满月,是否就是精密星历算出的真实满月?

不是 — 书中明确指出它是教会历算的满月。

计算结果应落在星期几?

星期日 — 本章两种算法都计算复活节星期日。

先确认采用哪套历法规则,再比较日期;历算中的月亮不必等于天空中实际观测的月亮。

Jean Meeus · Astronomical Algorithms, 2nd ed. · 第 8 章

时间与历法 · 全部互动课程