我已将时区更改为晚 1 小时。我打过电话
timedatectl set-timezone Asia/Bangkok
虽然改变了时区,但是时间还是和我的旧时区一样,也就是说,这个时间是错误的,比真实时间提前了1个小时:
$ timedatectl status
Local time: Fri 2016-07-22 12:28:30 ICT
Universal time: Fri 2016-07-22 05:28:30 UTC
RTC time: Fri 2016-07-22 05:28:29
Time zone: Asia/Bangkok (ICT, +0700)
Network time on: no
NTP synchronized: no
RTC in local TZ: no
即使重新启动后。
答案1
确定本地时区的一种方法是运行以下脚本:
tzselect
在回答了一些有关位置的问题后,脚本将输出时区的名称(例如亚洲/曼谷)。
/etc/localtime
然后通过运行创建文件:
sudo ln -sT /usr/share/zoneinfo/<xyz> /etc/localtime
替换为所选时区的名称(例如亚洲/曼谷)。在您的具体情况下:
sudo ln -sT /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
它将更改您系统范围内的时区(我的意思是对于所有用户)。
您可以通过运行命令来检查新时区是否已正确自动设置date
。例如,我现在测试它并返回
Sun Jul 24 13:26:51 ITC 2016
此外,根据tzselect
脚本输出的建议,您只需通过设置和导出 TZ 环境变量即可使此更改对您的用户永久生效。为此,您必须将该行附加到主目录中文件TZ='Asia/Bangkok'; export TZ
的末尾。.profile
您可以运行以下命令来执行此操作:
echo "TZ='Asia/Bangkok'; export TZ" >> $HOME/.profile
之后,您需要退出当前会话并重新登录以使更改生效。