技术科普
时区命名规则解析
在计算机系统中,时区常用“Asia/Shanghai”这样的名称表示。这种命名方式有什么规则?
命名格式
IANA 时区名称采用“区域/城市”的格式,例如:
Asia/Shanghai— 中国上海America/New_York— 美国纽约Europe/London— 英国伦敦Australia/Sydney— 澳大利亚悉尼Africa/Cairo— 埃及开罗
为什么用城市名
早期时区命名使用地理区域,但为了兼顾历史和政治,最终采用“区域 + 代表城市”的方式。区域一般是大洲名(亚洲、欧洲、美洲等),城市则是该时区的代表性地点。
比UTC偏移更精确
与单纯写“UTC+8”相比,时区名称的优势在于:
- 自动处理夏令时:如 America/New_York 会自动区分 EST 和 EDT。
- 避免歧义:不同地区可能有相同的缩写(如 CST)。
- 包含历史信息:能追溯该地区过去的时区规则。
一些特殊的名称
有些时区名称并不直观,例如 Etc/GMT、Etc/UTC 表示标准偏移时区;America/Argentina/Buenos_Aires 使用多层结构。此外,某些国家虽然全国使用一个时区,但数据库仍保留多个城市名。
实用提示
开发涉及时间的应用时,应优先使用 IANA 时区名称而非数字偏移,这样更能应对夏令时和时区变更。仓鼠时间网的城市页面都会标注对应的 IANA 时区名称。