UTC 和 Etc/UTC 时区之间有区别吗?

2022-08-30 09:05:18

在 PHP 文档中,支持的时区列表列出了两次:UTC

  • UTC
  • Etc/UTC

这两者之间是否有任何概念上的区别,或者它们只是同义词?


答案 1

首先,回答这个问题:
和时区之间没有区别。UTCEtc/UTC

Etc/UTC是 Olson-timezone-database(tz 数据库)中的一个时区,也称为 IANA-timezones-database,其中所有时区都符合统一的命名约定:。Area/Location

由于某些时区不能归因于世界上的任何区域(即大陆或海洋),因此引入了特殊区域(Etcetera)。这主要适用于管理时区,例如 。
因此,为了符合命名约定,在 tz 数据库中命名通用协调时(区)。EtcUTCEtc/UTC

对于 UTC 以外的管理时区(例如 ,),tz 数据库在区域名称中使用 POSIX 样式的符号。POSIX对格林威治(格林威治以西)后面的区域有正信号,对格林威治(格林威治以东)前面的区域有负向信号。GMT+4GMT-8

时区的POSIX风格标志与当今广泛且最常用的ISO 8601中的时区定义相反。在 ISO 8601 时区格式中,负号表示某个区域位于 UTC(格林威治以西)之后,正号表示某个区域位于 UTC 之前(格林威治以东)。这就是现在的标准用法。

POSIX中相反定义的可能原因是:

  • POSIX是UNIX的一部分,UNIX是在美国开发的,位于UTC(格林威治以西)之后。POSIX格式允许将美国时区表示为EST5,PST8,即省略(+)号。
  • 通常,计算机程序和操作系统在内部以UTC时间执行所有操作。使用POSIX样式的标志,您可以添加时间和时区以获取UTC时间。示例:“03:30 PST8”或“03:30 GMT+8”表示它是“11:30 UTC”。

答案 2

Etc/UTC是显示名称为 的时区。也就是说,根据 IANA 的时区数据库,它们是同一时区的长短名称。UTC


推荐