CentOS忽略时区并显示UTC

我把我的服务器的时区设置为中央:

/etc/localtime -> /usr/share/zoneinfo/US/Central 

重新启动后,当我运行date命令时,时间仍然以UTC列出。

 [root@dev etc]# date Sat Oct 5 16:14:28 UTC 2013 

我怎样才能让它在当地时区显示?

你可以检查这个文件是否有问题:/ etc / localtime

使用例如:

 zdump -v /usr/share/zoneinfo/US/Central or zdump -v /etc/localtime 

就我而言,今年的信息如下所示:

 /usr/share/zoneinfo/US/Central Sun Mar 10 07:59:59 2013 UTC = Sun Mar 10 01:59:59 2013 CST isdst=0 gmtoff=-21600 /usr/share/zoneinfo/US/Central Sun Mar 10 08:00:00 2013 UTC = Sun Mar 10 03:00:00 2013 CDT isdst=1 gmtoff=-18000 /usr/share/zoneinfo/US/Central Sun Nov 3 06:59:59 2013 UTC = Sun Nov 3 01:59:59 2013 CDT isdst=1 gmtoff=-18000 /usr/share/zoneinfo/US/Central Sun Nov 3 07:00:00 2013 UTC = Sun Nov 3 01:00:00 2013 CST isdst=0 gmtoff=-21600 

您的CentOS系统的计时提示。

  • 设置时区偏移量,如: ln -fs /usr/share/zoneinfo/America/Chicago /etc/localtime
  • 检查/etc/sysconfig/clock – 我的只包含ZONE="America/Chicago"
  • 打开ntp 。 没有理由运行它。
  • 如果这是一个物理系统,您可能需要在BIOS中设置您的硬件时钟,或者使用hwclock -w在您的操作系统中设置它

这些更改立即生效,以便您的date命令应该输出:

 # date Sat Oct 5 11:38:49 CDT 2013 

还要确保环境variablesTZ是未设置的,因为它覆盖了/etc/localtimeconfiguration的内容。

即使是一个无辜的export TZ=使date(和其他实用程序)默认输出UTC。

检查/etc/environment/etc/profile/etc/profile /etc/bash.bashrc~/.profile~/.bashrc ,桌面环境configuration以及其他常用的configuration文件,以便设置和导出TZ并将其删除。

编辑:

另外检查你的/usr/share/zoneinfo/US/Central是否是一个有效的现有文件:

 $ file -L / usr / share / zoneinfo / US / Central
 / usr / share / zoneinfo / US / Central:时区数据,第2版,第6时间标志,第6时间标志,不闰秒,235转换时间,6个缩写字符

我有完全相同的问题,并更新tzdata为我修复:

 yum update tzdata