我通过将 zoneinfo 文件复制到 来在 Linux 机器上设置时区 GMT+6 /etc/localtime
,但 date 命令显示的时间是 UTCtime-6。出现这种情况的原因是什么?
我假设 date 命令应显示 UTCtime+6 时间。以下是我遵循的步骤:
date
Wed Jan 22 17:29:01 IST 2014
date -u
Wed Jan 22 11:59:01 UTC 2014
cp /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime
date
Wed Jan 22 05:59:21 GMT+6 2014
date -u
Wed Jan 22 11:59:01 UTC 2014
答案1
为了向后兼容 POSIX 标准,这些区域Etc/GMT+6
被故意反转。请参阅注释在维基百科上,并且在这个文件来自 tzdb。
您几乎永远不需要使用这些区域。相反,您应该使用完整命名的时区,例如America/New_York
或Europe/London
或任何适合您位置的时区。请参阅维基百科上的 tz 数据库时区列表。