四人围坐在一张旧木桌旁,桌上摊着一本翻到一半的历法笔记。
苏五震先开口:“JDN,儒略日数。不是儒略历里的日期,而是一串连续整数。起点是公元前4713年1月1日中午12时,儒略历,世界时。那一刻记作 JDN 0。”
苏六坎接话:“JDN 只记整日。带小数的叫 JD,儒略日。比如 2000年1月1日 12:00 UT,对应 JD 2451545.0,JDN 就是 2451545。”
苏七离说:“它的好处是避开年、月、闰年这些复杂规则。要算两个日期相差多少天,直接相减就行。所以天文学、历史年代学和历法换算里常用。”
苏八兑补充:“不过要注意,儒略日的‘一天’从正午算起,不是从午夜。一个观测夜落在同一个 JDN 里,记录起来更方便。”
苏五震点头:“它还有一个简化版本,叫 MJD,简化儒略日。公式是 MJD = JD ?? 2400000.5,起点是 1858年11月17日 0时,数字会短一些。”
苏六坎问:“那怎么把公历日期转成 JDN?”
苏七离在纸上写:
设公历年份为 Y,月份为 M,日期为 D。若 M ≤ 2,则令 Y = Y ?? 1,M = M 12。
再算:
a = ??Y / 100??
b = 2 ?? a ??a / 4??
JDN = ??365.25 × (Y 4716)?? ??30.6001 × (M 1)?? D b ?? 1524
苏八兑提醒:“这个公式适用于 1582年10月15日及之后的格里高利历。之前的日期要用儒略历版本,常数会不同。”
苏六坎笑了笑,指尖在桌沿轻轻敲了两下,像给一段话落了个休止符。
“上篇先到这里。”他说,“下篇可以接着算 JDN 怎么反推回公历日期。”
苏月巽把散在桌角的纸页拢到一起。纸上写满了数字:2400000.5、1858年11月17日、7980年,还有几行被反复划掉又重写的算式。她忽然觉得,这些数字并不只是冷冰冰的中间量,它们更像一把钥匙,插进儒略日那条漫长的时间轴,拧一下,就能把公元纪年、月份和日期一点点转出来。
“反推回去,其实也不难。”苏六坎说,“先把 JDN 加上 0.5,再减去 2400001,就得到 MJD。然后从 MJD 出发,按公式算出年、月、日。只是中间要处理闰年、格里高利历改革,还有那个容易让人发晕的 1582 年 10 月。”
苏月巽点头:“所以 JDN 像一张总账,公历、农历、儒略历,都只是从它上面分出来的明细。”
“差不多”,苏六坎。
苏月巽把最后一张纸夹进笔记本里:“那下篇就从 MJD 开始?”
“从 MJD 开始。”苏六坎说,“先把它拆成年、月、日,再看 1582 年那十天是怎么消失的。”