我正在尝试将系统时间设置为 UTC,这样当我登录并运行date
或运行要求当前时间的程序(例如python -c 'import datetime; print datetime.datetime.now()'
)时,它们会返回 UTC 时间。根据搜索和https://askubuntu.com/a/524362,我期望当我跑步时
sudo timedatectl set-timezone UTC
系统时间将设置为 UTC。当我运行该程序时,它以 0 退出并timedatectl status
打印以下输出:
$ timedatectl status
Local time: Wed 2016-03-16 14:31:50 UTC
Universal time: Wed 2016-03-16 14:31:50 UTC
RTC time: Wed 2016-03-16 14:31:49
Time zone: UTC (UTC, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
但是,当我注销、重新登录并运行时date
,我仍然会在 EDT 中获得一个值:
$ date
Wed Mar 16 10:31:32 EDT 2016
我究竟做错了什么?
答案1
如果你不介意获得一个交互式应用程序,
$ sudo dpkg-reconfigure tzdata
。
至于timedatectl
失败的原因,请查看系统设置中的 GUI 时间/日期配置选项。可能是某些Use network time
设置阻止了它。
另一种替代方法是:
$ sudo ln -sf /usr/share/zoneinfo/Etc/GMT$offset /etc/localtime
,其中$offset
是与 GMT(UTC) 时间的偏移量。由于您需要 UTC,
$ sudo ln -sf /usr/share/zoneinfo/Etc/GMT /etc/localtime
。