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

84 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 时间尺度
tags: 时间, utc, tai, tt, gps
summary: UTC、TAI、TT 与 GPS,以及为什么时刻只存储在单一尺度上。
---
# 时间尺度
时间尺度是为时刻指定数值的规则。实际中同时使用多种尺度,它们并不一致,且差异足以影响指向与测距。本文档定义内核支持的各尺度,并给出消除运算歧义的存储约定。
## 定义
| 尺度 | 全称 | 速率 | 参考 |
|------|------|------|------|
| UTC | 协调世界时 | 不均匀 | 民用时间,通过闰秒向 UT1 靠拢 |
| TAI | 国际原子时 | 均匀 | 原子钟加权平均 |
| TT | 地球时 | 均匀 | 地心坐标时 |
| GPS | GPS 时 | 均匀 | 由 GPS 星座维持 |
UTC 是此处唯一不均匀的尺度。它通过插入或删除整秒保持在 UT1(由地球自转定义的尺度)的 0.9 秒以内。包含插入秒的 UTC 分钟有 61 秒。
## 数学含义
存储模型只有一个数:**TAI 尺度上的约化儒略日**。每个时刻在创建时都转换为 TAI,在显示时再转换回所需尺度。
原因在于精确性。两个以 TAI 存储的时刻之差为
$$
\Delta t = \left( \text{tai}_{\text{后}} - \text{tai}_{\text{前}} \right) \times 86400
$$
该差就是二者之间经过的 SI 时间,无论它们是以何种尺度创建的。若时刻以 UTC 存储,同样的减法在跨越闰秒插入时会出错,因为 UTC 时钟在该点没有单一明确的数值。
尺度之间的转换除 UTC 外都是常数偏移:
$$
\begin{aligned}
\text{TT} - \text{TAI} &= 32.184\,\text{s} && \text{(常数,IAU 2000)} \\
\text{TAI} - \text{GPS} &= 19\,\text{s} && \text{(自 1980 年起为常数)} \\
\text{TAI} - \text{UTC} &= 10\,\text{s} + N && \text{(1972 年以来插入的闰秒数)}
\end{aligned}
$$
前两项是常数。第三项是日期的阶跃函数,其数值来自 `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。
## 另见
- [[leap-seconds]]:表与插入规则
- [[calendar-and-mjd]]:日期转换
- 在线工具试用:*转换时间尺度*