apsis-book/content/concepts/time-scales.zh.md

3.8 KiB
Raw Blame History

title summary
时间尺度 UTC、TAI、TT 与 GPS,以及为什么时刻只存储在单一尺度上。

时间尺度

时间尺度是为时刻指定数值的规则。实际中同时使用多种尺度,它们并不一致,且差异足以影响指向与测距。本文档定义内核支持的各尺度,并给出消除运算歧义的存储约定。

定义

尺度 全称 速率 参考
UTC 协调世界时 不均匀 民用时间,通过闰秒向 UT1 靠拢
TAI 国际原子时 均匀 原子钟加权平均
TT 地球时 均匀 地心坐标时
GPS GPS 时 均匀 由 GPS 星座维持

UTC 是此处唯一不均匀的尺度。它通过插入或删除整秒保持在 UT1(由地球自转定义的尺度)的 0.9 秒以内。包含插入秒的 UTC 分钟有 61 秒。

数学含义

存储模型只有一个数:TAI 尺度上的约化儒略日。每个时刻在创建时都转换为 TAI,在显示时再转换回所需尺度。

原因在于精确性。两个以 TAI 存储的时刻之差为

seconds = (tai_mjd_later - tai_mjd_earlier) * 86400

该差就是二者之间经过的 SI 时间,无论它们是以何种尺度创建的。若时刻以 UTC 存储,同样的减法在跨越闰秒插入时会出错,因为 UTC 时钟在该点没有单一明确的数值。

尺度之间的转换除 UTC 外都是常数偏移:

TT  - TAI  = 32.184 s                    (常数,IAU 2000)
TAI - GPS  = 19 s                        (自 1980 年起为常数)
TAI - UTC  = 10 s + (1972 年以来插入的闰秒数)

前两项是常数。第三项是日期的阶跃函数,其数值来自 apsis-leap 中的闰秒表,即 IERS Bulletin C 发布的表。

单位约定

  • 时刻是约化儒略日,单位为天,自 1858-11-17 午夜起算。
  • 时长单位为秒,指均匀经过的 SI 秒。
  • 日历日期包含年、月、日、时、分,以及带小数的秒。在包含插入闰秒的分钟中,秒值可达 60.999。

适用边界

闰秒表起始于 1972 年初,这是现代 UTC 体系的起点。早于该日期的 UTC 时刻在此没有精确表示,转换会返回空值而不是猜测。该表止于其中最新的一条记录;更晚的日期使用最后已知偏移进行转换,在下次插入之前是正确的,因此属于预测而非事实。

出于同样原因,远未来的日期也是预测。内核使其可见而非隐藏:未被覆盖的转换返回空值,由调用方决定如何处理。

时长与日历运算

为时刻加上若干秒会使其恰好移动那么多经过时间。按日历方式加上一天是另一种运算:跨越闰秒插入时,一个 UTC 日历日为 86,401 SI 秒。内核只在时刻上暴露第一种运算,并要求转换为日历后才能进行第二种。这是有意为之,因为两者极易混淆,而误差小到在真正产生影响之前不易被察觉。

表示方式对比

表示 速率均匀 闰秒 范围 此处用途
TAI MJD 是 不表示 广 存储与运算
UTC MJD 否 表示为阶跃 1972 年起 输入与输出
距某历元的 TAI 秒 是 不表示 取决于历元 时长
日历字段 否 表示 不限 人机输入与显示
GPS 周与秒 是 不表示 1980 年起 GNSS 接口

来源

  • 儒略日与约化儒略日约定:IAU,见《天文年历解释性补充》。
  • 地球时相对 TAI 的偏差:IAU 2000 决议 B1.9。
  • 闰秒:IERS Bulletin C。
  • 日历算法:Howard Hinnant,chrono-Compatible Low-Level Date Algorithms,2015。

另见