跨国开会要算时差,服务器日志要看 UTC 时间,"北京时间"和"东八区"又是什么关系——这些问题背后是同一套时区体系,理解了 UTC 这个基准,其它换算都是加减法。
UTC(Coordinated Universal Time,协调世界时)是全球时间体系的基准点,不属于任何具体地区,所有时区都通过"和 UTC 相差多少小时"来定义自己——比如"UTC+8"表示比 UTC 快 8 个小时。UTC 取代了早期以英国格林尼治天文台为基准的 GMT(Greenwich Mean Time,格林尼治标准时间),两者在数值上几乎完全一致(日常场景下可以视为等同),区别只在于 UTC 是基于原子钟的现代科学定义,比 GMT 基于地球自转的传统定义更精确、更稳定。计算机系统、服务器日志、国际通信协议几乎都以 UTC 作为内部存储和交换的标准时间,避免因为地区、夏令时差异造成混乱,展示给用户时再转换成本地时间。
地球自转一圈 360°,理论上按每 15° 一个时区可以划出 24 个时区,每个时区比相邻时区相差 1 小时——这是时区制度最初的设计原则,也是"UTC+8""UTC-5"这类偏移量的来源。中国地跨约 5 个理论时区(从新疆到黑龙江东西跨度很大),但全国统一采用单一时区"北京时间"(UTC+8,也就是东八区),这是出于国家管理和社会协调统一性的考虑做出的政治/行政决定,不是纯粹按地理经度机械划分的结果——这也是为什么新疆等西部地区在夏天天亮得比东部明显晚,但官方作息时间依然统一按北京时间安排(很多地方实际生活中会自发采用比官方时间晚 1-2 小时的"地方时间"作息)。
夏令时(DST,Daylight Saving Time)是部分国家和地区在夏季把时钟统一调快 1 小时的制度,目的是让人们的作息更好地利用夏季更长的日照时间(比如原本 UTC+1 的地区,夏令时期间变成 UTC+2)——欧美很多国家仍在执行夏令时,每年春季"调快一小时"、秋季"调回一小时"。这也是跨国时间换算里最容易出错的地方:同一个城市在一年中不同时间段,和 UTC 的时差是不一样的,必须结合具体日期才能算准。中国大陆从 1992 年起已经不再实行夏令时,全年统一使用北京时间,这也是不少人对"夏令时"这个概念感到陌生的原因。做跨国会议时间协调时,需要按照 IANA 时区数据库(记录了全球各地区历史和现行的夏令时规则)来处理这类换算,而不能简单假设时差固定不变。