Linux 中的时区设置

Linux 中的时区设置

我通过将 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_YorkEurope/London或任何适合您位置的时区。请参阅维基百科上的 tz 数据库时区列表

相关内容