绝对时刻与墙上时间
绝对时刻是唯一的;本地墙上时间可能有歧义,因为它把日历字段与地区规则组合在一起。从时间戳转换到某个时区是确定的,而从本地日期转换为时间戳有时必须做选择。
缺口与重叠
时钟向前拨时,部分本地时间从未发生;向后拨时,一段本地时间会以不同 UTC 偏移出现两次。可靠的排程界面应拒绝缺口,并要求用户为重叠时间选择偏移。
保存正确的信息
记录过去事件时,应保存绝对时刻。安排未来重复事件时,通常还需要保存 IANA 时区,因为未来偏移可能随规则变化。固定偏移不能表达一个地区的完整规则。
测试建议
测试夏令时切换前后、UTC 跨日以及浏览器与后端时区数据库版本不同的情况。不要用当前偏移推算全年日期,也不要把城市名称当作固定小时差。
纽约夏令时的可验证例子
| 当地日期与钟点 | 发生什么 | 应如何处理 |
|---|---|---|
| 2024-03-10 02:30 | 春季向前跳时跳过这一段 | 改用实际存在的钟点 |
| 2024-11-03 01:30 | 秋季回拨后出现两次 | 选择 UTC−04:00 或 UTC−05:00 |
| 2024-11-03 03:00 | 只出现一次 | 正常转换 |
重复的 01:30,较早一次是 2024-11-03T05:30:00Z,较晚一次是 2024-11-03T06:30:00Z,两者都有效。程序如果静默挑选其中一个,会议可能偏离原意一小时。可以在日期转时间戳或两个时区时间转换中验证。
太平洋标准时间与洛杉矶当地时间
PST 固定表示 UTC−08:00。洛杉矶夏令时期间使用 PDT,即 UTC−07:00。北京目前全年采用 UTC+08:00,所以洛杉矶通常在标准时间期间比北京慢 16 小时,在夏令时期间慢 15 小时。
北京时间 2026 年 10 月 13 日 09:26,对应洛杉矶 10 月 12 日 18:26。选择 America/Los_Angeles 会按那一天的规则计算;全年固定使用 PST,则会得到 17:26,不能代表当地实际钟点。
安排未来活动时检查什么?
输入实际活动日期,来源与目标都选择城市或 IANA 时区,同时核对是否跨到前一天或后一天。重复会议的定义应保存来源时区,不能只保存今天的偏移。地区规则可能因政策调整而变化,重要未来安排仍需结合更新后的时区数据核对。
时间戳转时区是在展示已确定的时刻;两地时间转换还要先解释来源地区的钟点,两个工具回答的问题不同。