GMT(Greenwich Mean Time,格林威治标准时间): 是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
UTC(Universal Time/Temps Cordonné 世界标准时间)
CST(Central Standard Time 國家標準時間,一說中原標準時間); 中国标准时间(China Standard Time)
GMT + 8 = UTC + 8 = CST
本文将介绍如何设置你的计算机的时钟、时区、以及和时间相关的选项,还会介绍如何保持“时钟更新”。
简单概述
你的计算机有两个时间,一个是由钮扣电池维持的一个总是运行着的时间,也叫做硬件时间、BIOS时间或CMOS时间;另一个是有你所安装的操作系统维持着的时间,也叫做系统时间。
硬件时间主要用于操作系统启动时设置系统时间,也可以理解为“硬件时间决定系统时间”。就在设置的那个时刻,直到系统关机为止,都是由系统时间来管理整个操作系统的时间了。
在Linux系统中,你可以选择以UTC/GMT或者本地时间为依据来更新硬件时间,也就是说有UTC/GMT和本地时间两种更新依据。推荐的方案是以UTC/GMT为依据。选择UTC/GMT唯一的不好之处就在于:当你多用户启动一个操作系统时,由硬件时间所设置的本地时间总是会有错误。
什么是UTC?
UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。
设置你的时区
在linux中,时区记录在/etc/localtime文件中,这个文件和/usr/share/zoneinfo目录下的“所设时区”文件构成符号链接,也就是“localtime -> /usr/share/zoneinfo/XXXX”。(在某些旧的linux操作系统中,时区信息所在目录有可能是/usr/lib/zoneinfo /)
举例来说,如果你是中国人,你生活在首都北京,那么你首先应该到/usr/share/zoneinfo文件夹的Asia目录下去找shanghai这个文件(因为shanghai和beijing在一个时区喽~),然后做一个符号链接到localtime,即
ln -sf ../usr/share/zoneinfo/Aisa/Shanghai /etc/localtime
UTC还是本地时间?
当你的Linux系统系统(我用的是fedora9,其他发行版也一样^_^),启动脚本中有一个步骤就是执行/sbin/hwclock程序,将当前的硬件时间赋给系统时间。hwclock命令会“武断的”认为硬件时间就是本地时间,除非使用选项开关–utc。
当然,修改启动脚本不是一个容易的和好玩的事情,与其修改启动脚本,还不如而且强烈推荐修改/etc/sysconfig/clock文件(这个路径是fedora的路径)。在这个文件中,添加UTC=true或UTC=false。
设置系统时间
在linux中,是用date命令来设置系统时间。
我想设置当前的时间和日期为2月12号晚上的23点12分(那天是我生日^_^),那么就这样写:
# date 02122312
如果你还想改变年份为2006年(那年世界杯,我的意大利队夺冠):
# date 021223122002
如果还想设置秒数(当然,大多数人没这么精确吧…):
# date 021223122002.33
或
# date 02122312.33
设置硬件时间
首先要知道,查看硬件时间的方法是hwclock(无参数即可查询)。
设置硬件时间,我的做法是首先设置系统时间,然后将系统时间赋给硬件时间,用这个命令:/sbin/hwclock –systohc
或者/sbin/hwclock –systohc –utc
其他相关命令
rdate,这个命令的作用是从远程获取一个正确的系统时间。具体去man一下:)
其他
如果对GMT和UTC感兴趣,可以看看这个帖子:
http://zhidao.baidu.com/question/9365015.html?fr=qrl
结论-你的时间方案
如果你的linux的时间不正确,那么就这样吧:
第一步:date 现在时间
第二步:hwclock --systohc
OK!