跳到正文
NINEHOUND九狗 · 东方观

基础知识 / 九狗讲堂

儒略日和儒略历是一回事吗?为什么整数不是零点

看到一串带小数的大数字,先别把它改成某年某月某日。它可能是在数经过了多少天;整数边界,也未必落在你习惯的午夜。

九狗 · 2026-10-09约 4 分钟
01

同一个名字,承担两件事

儒略日与儒略历只差一个字,读资料时很容易混为一谈。可你若把它们看作两张不同用途的表,区别就清楚了:历法需要把时间安排成年、月、日;连续计日则需要给时刻一个便于比较和相减的数。名字相近,不代表输出可以直接互换。

例如,一条旧出生记录写的是某年某月某日,你首先要问那份记录用了什么历法。一张天文计算表写着JD和一串小数,你首先要问这个数的单位、起点及采用的时间标尺。把第一项问题跳过去,再套第二种工具,往往只是给原来的不确定性多加了几位小数。

02

整数边界为什么不是午夜

美国海军天文台把儒略日期JD定义为从公元前4713年1月1日格林尼治平午起连续计日。它给的示例是:1978年1月1日0时UT1,对应JD2443509.5。沿同一时间标尺再过半天,便是2443510.0;这里的整数边界在中午。

这解释了怎样读这个数,却不等于已经考证了当年为何选择这个起点。讨论日期换算时,先守住明示定义即可,不必补一个未经查证的创始故事。尤其不要把“从中午起算”理解成你所在城市每天中午重新从零开始;那会同时弄错起点和连续计数两件事。

03

小数表示的是一天的一部分

拿一个纯算术例子来说:从某个整数JD开始,再加0.25日,就是再过六小时;加0.5日,就是再过十二小时。这里的0.25不是“四分之一月”,也不是某种月份编号。把小数部分乘以24,得到的是相对这个计日边界经过的小时数,还要结合边界的位置理解。

另一个容易发生的误读,是看到.5就自动说“中午十二点”。在午夜起算的日数中,这样的联想可能有用;放到这里,方向就反了。最可靠的办法是先写出一个已知时刻与它对应的数,再做加减。先确认约定,再算小数,比记住一条离开上下文的口诀更稳。

04

算两天之差,也要先确认输入

连续计日便于相减,但这不表示两条看起来相似的输入一定可以直接相减。两次输入是否采用同一时间标尺,日期是按哪套历法解释,原时间是否已经转换过,都应先确认。若第一份资料是当地钟表时间,第二份资料已换到统一标尺,就不能只因为两个框都写着“日期”便当它们相同。

一个好的计算记录,应当留下原日期、原时间、地点或偏移,以及此次选择的历法和时间约定。这样得到两个数字之后,读者才知道它们为何能够放在同一条数轴上。原始条件有缺项,就把缺项写出来,不要让输出格式的整齐替你掩盖问题。

05

公式也有适用范围

海军天文台页面列出的一项简式,明确标注适用1801至2099年。这是阅读计算资料时很有用的一项提醒:有公式,不等于任何年份都能往里填。该页另列算法与它们自己的说明,不能把其中一种方法的范围随手移给另一种。

因此,看到一段代码或一张在线表,至少要读输入格式、适用年代和边界处理,再看结果。文中不复刻一段来源公式去声称已经验收所有历史日期;对更早的记录,历法沿用、年份记法和转换规则仍须各自核对。一个例子算对了,证明的是这个例子,不是整个年代都已覆盖。

06

工具给数字,说明给它意义

九狗的儒略日工具可作为查阅入口,使用前仍应读清它的输入约定。本文沿出处的UT1示例解释定义,不把工具界面上的日常时间输入默认认定为同等精度的天文时间标尺;具体精细计算要回到对应资料。

如果结果与你抄录的表不同,先比较起点、是否保留小数、采用的历法和时间标尺,再去怀疑加减法。把一条普通日期、一条旧历日期和一个JD放在纸上,分别标清含义,很多所谓“差了半天”的谜题就会变成一个可以定位的约定差异。需要保存的是这些条件,而不只是最后那串数字。

资料与延伸阅读

资料出处见上方链接。

读懂了,试一试。

儒略日工具:先读输入约定 ↗