且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法

更新时间:2022-06-25 19:35:09

今天被我遇到了,相差八小时,,,tzselect过了都不行,还得用ntupdate核一下。

网上找的,备不时之需要。

~~~~~~~~~~~~~~~~

 

1.在linux中,用date查看时间的时候显示:

  2013年 2月 17日 星期三 19:04:14 CST 

世界协调时间(Universal Time Coordinated,UTC):

  GPS 系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算即可。

Linux下可以通过运行命令tzselect然后输入选项前面的数字来一步一步地设置当前系统时区。

如果没有安装ntp服务器,刚需要先执行以下命令:

  yum install ntp

同步时间使用ntpdate命令如下:

ntpdate cn.pool.ntp.org

2.我们在安装完Centos Linux操作系统之后,点击系统的时间发现与现在所使用的时间不一致,相差有8小时,而在安装系统的时候我们选择的时区是上海,但是CentOS Linux默认的bios时间是utc时间(UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。),所以我们在时间上面相隔了8个小时。这个时候bios的时间和系统的时间当然是不一致,一个代表 utc 时间,一个代表cst(+8时区),即上海的时间。

在CentOS Linux中终端命令中执行以下命令:

1).vi /etc/sysconfig/clock  #编辑时间配置文件

  ZONE="Asia/Shanghai"

  UTC=false                #设置为false,硬件时钟不于utc时间一致

  ARC=false

2).ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime  #linux的时区设置为上海时区

3).ntpdatecn.pool.ntp.org #对准时间

4)./sbin/hwclock --systohc  #设置硬件时间和系统时间一致并校准

经过以上步骤,我们的CentOS linux系统时间和计算机硬件时间终于都是cst时间了,并且都是上海时区。