同一时刻,不同本地时间
选择另一个时区不会改变 Unix 时间戳,只会改变它的日历表示。Asia/Shanghai、America/New_York 和 Europe/London 都是 IANA 时区标识,它们可能拥有不同的历史规则和夏令时切换日期。
UTC 偏移不等于时区
UTC-05:00 只描述某一时刻与 UTC 相差五小时,不包含地区身份、历史调整或未来夏令时规则。若业务逻辑需要在不同日期持续得到正确本地时间,应保存命名时区,而不是只保存一个固定偏移。
应该保存什么?
记录已经发生的事件时,优先保存绝对时刻(Unix 时间戳或带偏移的 ISO 8601)。处理未来的本地日程,通常还要保存 IANA 时区,因为当地规则可能改变。展示时再根据目标用户或业务地区格式化日期。
具体怎么使用
输入整数时间戳,明确单位并选择目标城市或 IANA 时区,点击转换即可按该地区规则显示时刻。时间戳本身不变,变化的是日历日期和钟点。
输入与输出示例
| 输入或设置 | 预期结果 |
|---|---|
1700000000 · s · UTC | 2023-11-14 22:13:20 |
1700000000 · s · Asia/Shanghai | 2023-11-15 06:13:20 |
1700000000 · s · America/New_York | 2023-11-14 17:13:20 · UTC−05:00 |
使用结果前的检查
结果标注转换日期对应的偏移。洛杉矶并非全年 UTC−08:00,纽约也并非全年 UTC−05:00。除钟点外还要核对日期是否跨天。如果输入是当地日历时间,应使用两个时区时间转换,先解释来源地区的时间。