时区

在不同的时区之间转换时间

如何使用时区

  1. 1选择源时区与目标时区(支持主要城市与 UTC 偏移)。
  2. 2输入要转换的本地时间。
  3. 3查看目标时区对应时间,并标注是否处于夏令时。

时区转换怎么算?

目标时间 = 源时间 + (目标偏移 − 源偏移)

地球按经度划分 24 个时区,相邻时区相差 1 小时。转换时用目标时区与源时区的 UTC 偏移之差加到原时间上即可。

夏令时(DST)会让部分地区在夏季把时钟拨快 1 小时,导致偏移临时变化。跨国会议、航班与远程协作都要先确认双方是否处于夏令时。

时区以本初子午线(格林威治)为基准,向东每 15 度经度加 1 小时,全球共 24 个理论时区。但实际边界会**沿国界、省界曲折划分**,且有不少「半时区」和「45 分时区」:印度用 UTC+5:30,尼泊尔用 UTC+5:45,澳大利亚中部用 UTC+9:30。所以不能简单用经度推算,必须查时区数据库(IANA tz database)。

夏令时的切换规则也各不相同:欧洲是 3 月最后一个周日 01:00 UTC 拨快、10 月最后一个周日拨回;北美是 3 月第二个周日、11 月第一个周日;南半球(澳大利亚、新西兰)季节相反,在 9–10 月开始、次年 4 月结束。**赤道附近和绝大多数亚洲国家不使用夏令时**。因此写国际化程序时,绝不能把偏移硬编码成固定值,必须用时区 ID 查询。

时区标准偏移夏令时偏移是否用夏令时
UTC(协调世界时)UTC+0无否
中国标准时 CSTUTC+8无否(1991 年起停用)
日本标准时 JSTUTC+9无否
中欧时间 CETUTC+1UTC+2是
英国时间 GMT/BSTUTC+0UTC+1是
美国东部 ETUTC−5UTC−4是
美国太平洋 PTUTC−8UTC−7是
印度标准时 ISTUTC+5:30无否

主要时区偏移与夏令时对照

常见问题

什么是 UTC 偏移?

UTC 偏移表示该时区相对协调世界时(UTC)的小时差,如北京为 UTC+8、伦敦冬季为 UTC+0。

夏令时会影响转换吗?

会。实行夏令时的地区在夏季偏移 +1 小时,转换时务必勾选对应日期是否已生效。

为什么同一国家有多个时区?

幅员辽阔的国家(如美国、俄罗斯)横跨多个经度,自然划分出若干时区。

UTC 和 GMT 是一回事吗?

日常使用可以互换,但严格来说不同。GMT(格林威治平太阳时)是基于地球自转的天文时间,已被 UTC(协调世界时)取代。UTC 基于原子钟,精度极高,通过闰秒与地球自转保持同步,误差控制在 0.9 秒内。所有现代系统的时间标准都是 UTC,GMT 只在英国法律和一些传统场合沿用。

服务器应该用什么时区?

统一用 UTC 存储和传输,只在展示给用户的那一刻才转换成本地时区。这样做的好处是:日志可以跨地域比对、避免夏令时切换时的数据重复或丢失、数据库迁移不会因时区配置变化而错乱。前端用 Intl.DateTimeFormat 或 dayjs/luxon 做展示层转换即可。已有系统的本地时间存量数据迁移到 UTC 时要特别注意逐条确认基准。

更多工具