什么是 Timezone?

Timezone(时区)是地球上为法律、商业和社会目的而采用统一标准时间的区域,通常定义为与协调世界时(UTC)的偏移量。

快速了解

创建时间1884 年(国际子午线会议)
规范文档官方规范

工作原理

时区的建立是为了在不同地理区域之间标准化计时。世界被划分为 24 个主要时区,每个时区大约跨越 15 度经度。时区以 UTC 偏移量表示(例如,中国标准时间为 UTC+8)。夏令时(DST)通过在某些地区季节性地将时钟向前或向后调整而增加了复杂性。在软件开发中,正确处理时区对于调度、日志记录和国际化应用程序至关重要。

主要特点

  • 基于 UTC 偏移量(如 UTC-5、UTC+9)
  • 24 个主要时区覆盖全球
  • 部分地区实行夏令时
  • 命名时区如 'America/New_York' 或 'Asia/Shanghai'
  • 对国际化应用至关重要
  • 影响调度、日志和数据时间戳

常见用途

  1. 跨地区安排会议
  2. 在 Web 应用中显示本地时间
  3. 使用准确时间戳记录事件
  4. 在不同时区之间转换
  5. 处理夏令时转换

示例

loading...
Loading code...

常见问题

UTC 和 GMT 有什么区别?

UTC(协调世界时)和 GMT(格林威治标准时间)经常互换使用,但从技术上讲它们是不同的。GMT 是基于伦敦格林威治皇家天文台平均太阳时的时区。UTC 是使用原子钟维护的时间标准,更加精确。在大多数实际用途中,它们是相同的,但 UTC 是计算和航空领域使用的国际标准。

如何在 JavaScript 中进行时区转换?

你可以使用带有 timeZone 选项的 toLocaleString() 方法,或使用 Luxon、date-fns-tz 或 Moment Timezone 等库。例如:new Date().toLocaleString('zh-CN', { timeZone: 'America/New_York' }) 将显示纽约的当前时间。对于更复杂的操作,专用库提供更好的时区数据库支持。

为什么有些时区有 30 或 45 分钟的偏移?

虽然大多数时区与 UTC 相差整小时,但有些地区选择了更符合其地理位置的偏移量,或出于历史/政治原因。印度使用 UTC+5:30,尼泊尔使用 UTC+5:45,澳大利亚部分地区使用 UTC+9:30。这些非标准偏移量使这些地区能够拥有相对于太阳正午更合适的本地时间。

什么是夏令时,它如何影响时区?

夏令时(DST)是在较温暖的月份将时钟拨快一小时以延长傍晚日照时间的做法。并非所有地区都实行夏令时,各国时钟调整的日期也不同。这意味着一个时区的 UTC 偏移量可能在一年中发生变化。例如,美国东部时间在冬季是 UTC-5,但在夏令时期间是 UTC-4。在软件中必须仔细处理这种复杂性。

什么是 IANA 时区数据库?

IANA(互联网号码分配局)时区数据库,也称为 tz 数据库或 zoneinfo,是全球时区信息的权威来源。它包含所有地区的历史和当前时区规则,包括夏令时转换。像「America/New_York」或「Asia/Tokyo」这样的时区名称就来自这个数据库。大多数编程语言和操作系统都使用这个数据库进行时区转换。

相关工具

相关术语

相关文章