民用时间与历史时区:偏移、夏令时与重复时刻
民用时间是社会规定的钟表时间。时区规则决定某一地点、某一日期的钟表与 UTC 相差多少;经度本身不能决定当时实行的行政时间制度。
固定偏移与地点时区
UTC+08:00 是一个偏移值;Asia/Shanghai 是一组随年代变化的规则。后一种表达可以查到中国历史上的夏令时,前一种表达本身没有这个信息。同一当地钟表时刻 L,若有效偏移为 O,则 UTC = L − O。
有效偏移已经包含夏令时。例如标准偏移 +8 小时、夏令时增量 +1 小时,合计 +9 小时;08:00 对应前一天 23:00 UTC。不能先减 9 小时后,再减一次夏令时。
中国 1986—1991 年夏令时
IANA 的 PRC 规则记录如下。日期是当地切换日期,开始时把 02:00 拨至 03:00;结束时把 02:00 拨回 01:00。表中日期由该规则逐年展开,不是把 1986 年的日期套用到所有年份。
| 年份 | 开始日期 | 结束日期 | 夏令期间有效偏移 |
|---|---|---|---|
| 1986 | 5 月 4 日 | 9 月 14 日 | UTC+09:00 |
| 1987 | 4 月 12 日 | 9 月 13 日 | UTC+09:00 |
| 1988 | 4 月 17 日 | 9 月 11 日 | UTC+09:00 |
| 1989 | 4 月 16 日 | 9 月 17 日 | UTC+09:00 |
| 1990 | 4 月 15 日 | 9 月 16 日 | UTC+09:00 |
| 1991 | 4 月 14 日 | 9 月 15 日 | UTC+09:00 |
不存在的时间:1991 年 4 月 14 日
按 Asia/Shanghai,01:59 之后到达切换点,钟表直接进入 03:00。因此当天 02:30 不属于有效的当地钟表时间。给 02:30 硬附 +8 或 +9 都能写出一个 UTC 数字,但将这个数字按历史规则换回当地,分别会得到 03:30 或 01:30,不能还原 02:30。
重复的时间:1991 年 9 月 15 日
当天 01:30 有两次,分别位于回拨之前与之后:
| 当地记录 | 有效偏移 | 对应 UTC |
|---|---|---|
| 第一次 01:30,尚在夏令时 | +09:00 | 9 月 14 日 16:30 |
| 第二次 01:30,已经恢复标准时 | +08:00 | 9 月 14 日 17:30 |
仅有“01:30”不能唯一确定实际时刻。原始记录中的夏令时标记、医院记时方式或其他同时发生事件,才可能帮助分辨。
历史记录的地域与制度
IANA 数据按地点汇集历史偏移,并附有资料来源与争议记录。早期地方时、战争时期占领区时间、交通或海关时间,可能不与今日行政边界一致;一个现代国家名称也不必只对应一种历史制度。Asia/Shanghai 不能代替对所有中国古代或地方记录的考证。
UTC 记录、已经折算成北京时间的记录和原当地钟表记录,也不能用同一步骤再次扣时区。日期是换算的一部分:1 月 2 日 00:20、偏移 +8,结果为 1 月 1 日 16:20 UTC。
与太阳时、恒星时的关系
民用时间到 UTC 的换算回答“这是哪个时刻”。平太阳时与真太阳时回答太阳计时参照下的读数;恒星时描述当地子午圈相对于赤道坐标的方向。三者不能作为三个互相替代的时区选项。
参考资料
IANA tzdb 的 asia 文件,PRC 规则与 China 注释:含 1986、1987、1988 年起例及 1992 年暂停夏令时的政府公报来源。上述两个 1991 年实例由规则换算,并以 Asia/Shanghai 时区往返计算核对。
IANA 数据库说明介绍地点标识、数据库版本及资料入口。