UTC和Etc/UTC时区之间是否存在差异?

Ben*_*min 48 php timezone datetime utc

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

  • UTC
  • Etc/UTC

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

And*_*iep 33

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

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

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

对于除UTC其他行政的时区(例如GMT+4,GMT-8),TZ数据库的使用POSIX风格的迹象在该区域,名称.POSIX在格林威治(格林威治以西)之后的区域有积极的迹象,在格林威治以前的区域(格林威治以东)有负面的迹象.

时区中的POSIX风格标志与当今广泛使用的ISO 8601中的时区定义相反.在ISO 8601时区格式中,负号表示区域位于UTC(格林威治以西)之后,而正号表示区域位于UTC之前(格林威治以东).这已成为当今的标准用法.

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

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


Dav*_*rtz 32

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

  • 这不是我对这份文件的理解:“例如,TZ='Etc/GMT+4' 使用缩写“GMT+4”并且对应于 UTC 后 4 小时(即格林威治以西),尽管很多人会期望它意味着比 UTC 早 4 小时(即格林威治以东)。” 因此,情况正好相反,除非 UTC 也这样做,否则它们实际上是对立的! (3认同)