儒略日 JD、MJD 与日期换算
儒略日 JD 是连续日数,整数边界在午正;它与儒略历是两种概念。MJD=JD−2400000.5,整数边界改在午夜。日期换成 JD 后,仍要注明 JD(UT1)、JD(TT) 等时间尺度。
格里历整数算法
以下 floor 为向下取整,年月日为延伸格里历,采用天文年编号,适用于本式中移位年非负的范围。先计算该日午正的整数 JDN:
text
a = floor((14−月)/12)
y = 年 + 4800 − a
m = 月 + 12a − 3
JDN = 日 + floor((153m+2)/5) + 365y + floor(y/4)
− floor(y/100) + floor(y/400) − 32045
JD = JDN − 0.5 + (时 + 分/60 + 秒/3600)/24相同移位形式在儒略历中没有百年和四百年校正,常数改为 −32083。历法必须先选定,不能由 JD 这个名称推断。
基准算例
2000 年 1 月 1 日 12:00,在格里历和所给时间尺度下为 JD 2451545.0;00:00 为 2451544.5,MJD 51544.0。J2000.0 指 JD 2451545.0 TT,所以“2000 年元旦中午 UTC”与这个基准不是同一时刻。
1970 年 1 月 1 日午正的 JDN 为 2440588,午夜的 JD 为 2440587.5。将午正整数直接当午夜,时间会偏移半日。
改革的连续性
首先采用改革的地区,1582 年儒略历 10 月 4 日午夜是 JD 2299159.5,次日格里历 10 月 15 日午夜是 JD 2299160.5。日期跳十个标签,连续日数只增加一天。其他地区的采用日期须查当地史料。
来源
USNO 的 Fliegel–van Flandern 算法与基准例;USNO 的改革日期换算。时间尺度见UTC、UT1 与 TT,历法地区差别见边界。