获取系统默认时区的时间

获取系统默认时区的时间

当登录到远程机器 X 时,默认情况下,date将给出本地时区的时间:

$ date
Mon Nov 17 22:45:47 CET 2014

请注意,TZ未设置:

$ export | grep TZ
$ 

因此,我TZ为我所在的每台计算机设置了自己的本地时区:

$ export TZ=/usr/share/zoneinfo/Canada/Eastern
$ date
Mon Nov 17 16:46:13 EST 2014

问题是,一旦我有了这套,如何获取系统默认时区的时间,即如果我作为用户不手动设置,则适用的时区TZ取消设置 TZ给我 UTC 时间,这不是我想要的:

$ TZ= date
Mon Nov 17 21:47:13 UTC 2014

有趣的是,TZ= date即使我还没有设置TZ任何内容,也会给出 UTC 时间;然而,当我还没有设置TZ任何内容时,简单地date给出了系统默认时区中的日期......

答案1

尝试取消设置TZ变量(这与将其设置为不同""):

$ (date; export TZ=/usr/share/zoneinfo/Canada/Eastern; date; unset TZ; date)
Tue Nov 18 03:25:25 IST 2014
Mon Nov 17 16:55:25 EST 2014
Tue Nov 18 03:25:25 IST 2014

请注意我如何在子 shell 中尝试它,以便我当前的 shell 不受影响。

答案2

您应该能够通过cating此文件来查看系统时钟时区: /etc/sysconfig/clock

相关内容