我将 /usr/share/zoneinfo/Asia/Kolkata 复制到 /etc/localtime。我还尝试编辑 /etc/sysconfig/clock 中的 ZONE,但我的默认时区仍然是 CEST,而不是 IST。
我已经检查过以确保 TZ 变量没有覆盖它。
我已经在谷歌上搜索过了http://www.redhat.com/advice/tips/timezone.html和http://kezhong.wordpress.com/2010/03/08/change-timezone-on-centos-5-4/但没有帮助。
我没什么主意了。我做错了什么?
[root@dhroid ~]$ cat /etc/sysconfig/clock
ZONE="Asia/Kolkata"
UTC=false
ARC=false
[root@dhroid ~]$ ls -al /etc/localtime
lrwxrwxrwx 1 root root 32 Jul 19 16:10 /etc/localtime -> /usr/share/zoneinfo/Asia/Kolkata
[root@dhroid ~]$ env | grep TZ
[root@dhroid ~]$ date
Tue Jul 19 16:11:52 CEST 2011
[root@dhroid ~]$
答案1
我已经修复了这个问题。我所做的一切都没有错。所有事情都正确。问题出在 tzdata 包上,它已损坏。当我使用 重新安装 yum 中的包后yum reinstall tzdata
,它就正常工作了!
答案2
将更改保存到文件“/etc/sysconfig/clock”后,需要重新启动才能使时区更改生效。之后您是否重新启动了您的机器?
答案3
在这里找到了对我有用的答案(Ubuntu 14.04+):Linux 中的时区设置[关闭]
$ sudo timedatectl set-timezone Etc/UTC
我重启后再次检查,问题仍然存在。希望这对某些人有帮助 :)
答案4
最近在 Ubuntu 上遇到了这个问题。dhroid 的回答给了我所需的提示。由于 Ubuntu/Debian 上的具体步骤不同,因此创建一个新的答案。通常,我会使用以下方法设置时区:
sudo mv /etc/localtime{,.bak}
sudo ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
奇怪的是,这不起作用所以我尝试重新配置 tzdata:
sudo dpkg-reconfigure tzdata
得到了这个奇怪的结果:
Current default time zone: 'America/Los_Angeles'
Local time is now: Wed Jul 6 20:10:37 UTC 2016.
重新安装 tzdata 修复了这个问题:(apt-get install 用最新的包替换现有的包)
sudo apt-get install tzdata
date
etc. PDT 2016