跳到主要内容

儒略日 Julian Date 是什么:从公元前4713年起的连续天数怎么算

儒略日是天文学家用的连续天数,第零天落在公元前4713年。本文讲清它怎么和公历互转,为什么能直接相减算天数差,又和一年中第几天有什么本质区别。

发布于 作者 李雷
#儒略日 #Julian Date #天文历法 #日期换算

儒略日 Julian Date 是什么:从公元前4713年起的连续天数怎么算

我第一次需要儒略日,是帮一个搞天文摄影的朋友核对观测记录。他给我一串七位数,说这是他拍那张星图的时间戳,问我对应公历哪一天。我盯着 2459580 这个数看了半天,才意识到这玩意儿根本不是日期,而是一个一路往上数的天数计数。算明白以后,我对它的好感一下就上来了:它把日期这件事从月份和闰年的泥潭里拽了出来。

儒略日数到底是一个什么数

儒略日数(Julian Day Number,JDN)是一个不分年月、一路递增的整数天数。它的第零天是公元前 4713 年 1 月 1 日正午(世界时),从那一刻起每过一天就加一,中间不归零,不重置,不管闰年平年。所以它现在已经数到了两百四十多万这个量级。

为什么起点选在公元前 4713 年这么远?当年定下这套计数的人,刻意把起点放到一切有记录的历史之前,这样任何真实发生过的天文事件,对应的儒略日都是一个正数,省去了正负号的麻烦。这种「永远只往前数」的设计,正是它好用的根源。

它怎么和公历互相换算

公历日期和儒略日之间靠一套整数公式互转,业界常用的是 Fliegel 与 Van Flandern 的算法。它跑在外推公历上,也就是把现在的公历规则往 1582 年以前一路倒推,当作历法从一开始就这么算。好处是远古和远未来的日期都能算,不像浏览器自带的 Date 对象碰到极端年份就出错。

给一个真实的输入输出例子。我在 儒略日转换器 里填入 2000 年 1 月 1 日正午(世界时),它给出:

  • JDN(正午整数):2451545
  • JD(带小数儒略日):2451545.0
  • MJD(修正儒略日):51544.5
  • 一年中第几天:第 1 天

这个 2451545 不是随便一个数,它就是大多数现代星表和星历的基准点 J2000.0。验证任何一个儒略日工具准不准,填这个日期看是不是得到 2451545,是最快的办法。

连续天数最大的好处:算天数差就是一道减法

这是儒略日最实用的一个点。两个事件之间隔了多少天,你不用去数中间跨了几个月、闰了几次年,直接把两个日期各换成 JDN,然后相减就行。

举个例子:一颗探测器在 2026 年 1 月 1 日发射,2029 年 1 月 1 日掠过某天体。把这两天各换成 JDN,一减,结果就是中间隔的天数,哪怕跨过 2028 年这个闰年也不会出错。如果你只想算两个普通日期之间过了多久,其实用 年龄与日期间隔计算器 更顺手,但底层那套「化成连续天数再相减」的思路是一模一样的。

JD、JDN 和 MJD 的细微差别

这三个缩写容易混,讲清楚:

  • JDN 是某日期在正午时刻的整数天数。
  • JD(儒略日)在 JDN 基础上还带当天的小数部分,而且从正午起算。所以 2000 年 1 月 1 日正午是 JD 2451545.0,同一天午夜则是 JD 2451544.5,因为前一天正午才是 .0 那个点。一天在正午翻篇而不是午夜,这是夜间观测留下的习惯,一个夜晚不该跨过两个日数。
  • MJD = JD 减去 2400000.5。减掉这个常数,历元挪到 1858 年 11 月 17 日午夜,数字从七位缩到五位。那半天还让 MJD 在午夜翻篇,更贴合日常时钟,所以卫星跟踪、GPS 和授时日志都爱用它。

要记住的坑:MJD 是减去整整 2400000.5,那半天不能丢。把它当成 2400000,就会差十二个小时。

它和「一年中第几天」根本不是一回事

很多大型机和物流系统也把一个数叫「儒略日」,比如 2024061,意思是 2024 年的第 61 天。这其实是一年中第几天(ordinal day),每年 1 月 1 日重新从 1 数起,最多不超过 366。

天文儒略日数和它差远了:前者从不归零,一直数到几百万;后者每年清零。两者唯一的共同点就是名字撞了车。判断你手里那个数是哪种,看它会不会每年重置:会的话是序数日期,不会的话才是连续的天文儒略日。儒略日转换器把这两个数并排显示,就是为了让人一眼分清,不再混用。

写在最后

儒略日不是什么深奥的天文术语,它本质上就是一把没有刻度断点的尺子:把所有日期摊在一条连续的数轴上,于是算间隔变成减法,跨闰年、跨世纪都不再是负担。下次你看到一串突兀的七位数时间戳,先别急着当乱码,它很可能就是某次观测留下的儒略日。


Made by Toolora · Updated 2026-06-13