概述
本综合参考列出了全球使用的所有主要时区缩写,包括UTC偏移量、夏令时(DST)规则和常用地区。在处理时间戳和日程安排时,使用本指南快速查找时区信息。
快速查找
最常用时区
| 缩写 | 全称 | UTC偏移(标准) | 夏令时偏移 | 地区 |
|---|---|---|---|---|
| UTC | 协调世界时 | +00:00 | 无夏令时 | 全球标准 |
| GMT | 格林威治标准时间 | +00:00 | 无夏令时 | 英国、西非 |
| EST | 东部标准时间 | -05:00 | EDT -04:00 | 美国东海岸 |
| PST | 太平洋标准时间 | -08:00 | PDT -07:00 | 美国西海岸 |
| CST | 中部标准时间 | -06:00 | CDT -05:00 | 美国中部 |
| MST | 山地标准时间 | -07:00 | MDT -06:00 | 美国山地 |
| CET | 中欧时间 | +01:00 | CEST +02:00 | 中欧 |
| IST | 印度标准时间 | +05:30 | 无夏令时 | 印度 |
| JST | 日本标准时间 | +09:00 | 无夏令时 | 日本 |
| AEST | 澳大利亚东部标准时间 | +10:00 | AEDT +11:00 | 澳大利亚东部 |
按UTC偏移分类
UTC -12:00 到 -08:00
UTC -12:00
- BIT - 贝克岛时间(无人居住)
UTC -11:00
- SST - 萨摩亚标准时间(美属萨摩亚)
UTC -10:00
- HST - 夏威夷标准时间(夏威夷大部分地区,无夏令时)
- TAHT - 塔希提时间(法属波利尼西亚)
UTC -09:00
- AKST - 阿拉斯加标准时间 → AKDT -08:00(夏令时)
UTC -08:00
- PST - 太平洋标准时间 → PDT -07:00
- 地区:美国/加拿大西海岸(冬季)
- 主要城市:洛杉矶、旧金山、西雅图、温哥华
UTC -07:00 到 -05:00(美洲)
UTC -07:00
- MST - 山地标准时间 → MDT -06:00
- 主要城市:丹佛、卡尔加里
- PDT - 太平洋夏令时(PST的夏令时)
- PNT - 凤凰城时间(亚利桑那州大部分地区,无夏令时)
UTC -06:00
- CST - 中部标准时间 → CDT -05:00
- 主要城市:芝加哥、墨西哥城、温尼伯
- MDT - 山地夏令时(MST的夏令时)
UTC -05:00
- EST - 东部标准时间 → EDT -04:00
- 主要城市:纽约、多伦多、迈阿密
- CDT - 中部夏令时(CST的夏令时)
- COT - 哥伦比亚时间(无夏令时)
- PET - 秘鲁时间(无夏令时)
UTC -04:00 到 +00:00(大西洋与南美)
UTC -04:00
- EDT - 东部夏令时(EST的夏令时)
- AST - 大西洋标准时间
- BOT - 玻利维亚时间(无夏令时)
UTC -03:30
- NST - 纽芬兰标准时间 → NDT -02:30
- 注:独特的半小时偏移
UTC -03:00
- ART - 阿根廷时间(无夏令时,自2009年起)
- BRT - 巴西利亚时间 → BRST -02:00
- UYT - 乌拉圭时间
UTC +00:00
- GMT - 格林威治标准时间 → BST +01:00
- 地区:英国、爱尔兰(冬季)
- UTC - 协调世界时(国际标准,无夏令时)
- WET - 西欧时间 → WEST +01:00
UTC +01:00 到 +03:00(欧洲与非洲)
UTC +01:00
- CET - 中欧时间 → CEST +02:00
- 地区:西欧大部分(冬季)
- 主要城市:巴黎、柏林、罗马、马德里
- BST - 英国夏令时(GMT的夏令时)
- WAT - 西非时间(尼日利亚、尼日尔、乍得,无夏令时)
UTC +02:00
- CEST - 中欧夏令时(CET的夏令时)
- EET - 东欧时间 → EEST +03:00
- 国家:希腊、罗马尼亚、芬兰
- SAST - 南非标准时间(无夏令时)
- CAT - 中非时间(津巴布韦、赞比亚、马拉维,无夏令时)
UTC +03:00
- EEST - 东欧夏令时(EET的夏令时)
- EAT - 东非时间(肯尼亚、坦桑尼亚、埃塞俄比亚,无夏令时)
- MSK - 莫斯科标准时间(俄罗斯西部,无夏令时,自2014年起)
- AST - 阿拉伯标准时间(沙特阿拉伯、伊拉克、科威特,无夏令时)
UTC +03:30 到 +06:00(中东与中亚)
UTC +03:30
- IRST - 伊朗标准时间 → IRDT +04:30
- 注:独特的半小时偏移
UTC +04:00
- GST - 海湾标准时间(阿联酋、阿曼,无夏令时)
- AMT - 亚美尼亚时间(无夏令时)
UTC +04:30
- AFT - 阿富汗时间(无夏令时)
- 注:独特的半小时偏移
UTC +05:00
- PKT - 巴基斯坦标准时间(无夏令时)
- UZT - 乌兹别克斯坦时间(无夏令时)
UTC +05:30
- IST - 印度标准时间(印度、斯里兰卡,无夏令时)
- 注:独特的半小时偏移
- 人口:超过14亿
UTC +05:45
- NPT - 尼泊尔时间(无夏令时)
- 注:独特的45分钟偏移
UTC +06:00
- BST - 孟加拉国标准时间(无夏令时)
- BTT - 不丹时间(无夏令时)
UTC +06:30 到 +09:00(亚洲)
UTC +06:30
- MMT - 缅甸时间(无夏令时)
- 注:独特的半小时偏移
UTC +07:00
- ICT - 中南半岛时间(越南、柬埔寨、老挝、泰国,无夏令时)
- WIB - 印尼西部时间(雅加达,无夏令时)
UTC +08:00
- CST - 中国标准时间(中国大陆、台湾,无夏令时)
- 注:整个中国使用单一时区
- HKT - 香港时间(无夏令时)
- SGT - 新加坡时间(无夏令时)
- PHT - 菲律宾时间(无夏令时)
- MYT - 马来西亚时间(无夏令时)
- AWST - 澳大利亚西部标准时间(西澳大部分地区,无夏令时)
UTC +08:45
- ACWST - 澳大利亚中西部标准时间(尤克拉,西澳)
- 注:独特的45分钟偏移,人口很少
UTC +09:00
- JST - 日本标准时间(日本,无夏令时)
- KST - 韩国标准时间(韩国、朝鲜,无夏令时)
- WIT - 印尼东部时间(无夏令时)
UTC +09:30 到 +12:00(大洋洲)
UTC +09:30
- ACST - 澳大利亚中部标准时间 → ACDT +10:30(仅南澳)
- 主要城市:阿德莱德
UTC +10:00
- AEST - 澳大利亚东部标准时间 → AEDT +11:00
- 地区:澳大利亚东部(冬季)
- 主要城市:悉尼、墨尔本、布里斯班
- ChST - 查莫罗标准时间(关岛,无夏令时)
- PGT - 巴布亚新几内亚时间(无夏令时)
UTC +10:30
- LHST - 豪勋爵岛标准时间 → LHDT +11:00
- 注:独特的半小时偏移和30分钟夏令时变化
UTC +11:00
- AEDT - 澳大利亚东部夏令时(AEST的夏令时)
- NCT - 新喀里多尼亚时间(无夏令时)
- SBT - 所罗门群岛时间(无夏令时)
UTC +12:00
- NZST - 新西兰标准时间 → NZDT +13:00
- FJT - 斐济时间 → FJST +13:00(某些年份)
- GILT - 吉尔伯特群岛时间(基里巴斯,无夏令时)
UTC +12:45 到 +14:00(远东太平洋)
UTC +12:45
- CHAST - 查塔姆标准时间 → CHADT +13:45
- 注:独特的45分钟偏移
UTC +13:00
- NZDT - 新西兰夏令时(NZST的夏令时)
- TOT - 汤加时间
- PHOT - 菲尼克斯群岛时间(基里巴斯,无夏令时)
UTC +13:45
- CHADT - 查塔姆夏令时(CHAST的夏令时)
UTC +14:00
- LINT - 莱恩群岛时间(基里巴斯,无夏令时)
- 注:最早看到新一天的时区之一
特殊情况与注意事项
歧义缩写
某些时区缩写用于多个地区:
- CST:中部标准时间(美国)或 中国标准时间 或 古巴标准时间
- IST:印度标准时间 或 以色列标准时间 或 爱尔兰标准时间
- AST:大西洋标准时间 或 阿拉伯标准时间
- BST:英国夏令时 或 孟加拉国标准时间
最佳实践:始终使用完整时区名称或IANA时区标识符以避免混淆。
不使用夏令时的主要地区
- 亚洲:亚洲大部分地区(中国、日本、印度等)
- 非洲:整个非洲
- 中南美洲:大多数国家
- 大洋洲:昆士兰州(澳大利亚)、北领地(澳大利亚)
- 北美洲:亚利桑那州(大部分)、夏威夷、萨斯喀彻温省
夏令时转换规则
美国和加拿大
- 开始:3月第二个星期日,当地时间凌晨2:00
- 结束:11月第一个星期日,当地时间凌晨2:00
- 变化:春季向前拨1小时,秋季向后拨1小时
欧盟
- 开始:3月最后一个星期日,UTC时间凌晨1:00
- 结束:10月最后一个星期日,UTC时间凌晨1:00
- 变化:春季向前拨1小时,秋季向后拨1小时
- 注:欧盟已投票废除夏令时,但实施尚未确定
澳大利亚
- 开始:10月第一个星期日,当地时间凌晨2:00
- 结束:4月第一个星期日,当地时间凌晨3:00
- 地区:新南威尔士、维多利亚、南澳、塔斯马尼亚、首都领地(昆士兰、北领地、西澳不实行)
新西兰
- 开始:9月最后一个星期日,当地时间凌晨2:00
- 结束:4月第一个星期日,当地时间凌晨3:00
IANA时区数据库
编程时,使用IANA时区标识符而不是缩写:
推荐格式
洲/城市
示例
| 缩写 | IANA标识符 | 推荐 |
|---|---|---|
| EST/EDT | America/New_York | ✅ |
| PST/PDT | America/Los_Angeles | ✅ |
| CET/CEST | Europe/Paris | ✅ |
| JST | Asia/Tokyo | ✅ |
| AEST/AEDT | Australia/Sydney | ✅ |
| IST | Asia/Kolkata | ✅(印度) |
| CST | Asia/Shanghai | ✅(中国) |
代码示例
JAVASCRIPT1// JavaScript - 使用IANA标识符 2const date = new Date(); 3const nyTime = date.toLocaleString('zh-CN', { timeZone: 'America/New_York' }); 4const shanghaiTime = date.toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
PYTHON1# Python - 使用pytz和IANA标识符 2from datetime import datetime 3import pytz 4 5ny_tz = pytz.timezone('America/New_York') 6shanghai_tz = pytz.timezone('Asia/Shanghai') 7 8ny_time = datetime.now(ny_tz) 9shanghai_time = datetime.now(shanghai_tz)
最佳实践
处理时区时
- 内部始终使用UTC - 仅在显示时转换为本地时区
- 使用IANA标识符 - 比缩写更精确
- 不要硬编码偏移量 - 夏令时规则会变化
- 在时间戳中存储时区信息 - 避免歧义
- 注意夏令时转换 - 可能导致重复或缺失的小时
- 测试边缘情况 - 闰秒、夏令时转换、时区变化
常见陷阱
❌ 避免:
- 在代码中使用时区缩写(使用IANA标识符)
- 假设所有美国州都实行夏令时
- 忘记中国只有一个时区
- 硬编码夏令时转换日期
- 忽略半小时和45分钟偏移
✅ 应该:
- 使用时区感知的datetime对象
- 利用时区库(pytz、moment-timezone等)
- 始终包含时区信息
- 使用不同时区进行测试
- 优雅地处理夏令时转换