当登录到远程机器 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
。