Linux使用世界时间(GMT)和本地时间(Local Time)。世界时间是格林尼治时间,本地时间是用户所在时区与国际时间的差值。Linux与Windows相同之处是在每次启动时加载BIOS时间,在退出时把时间写回BIOS;Linux与Windows不同之处是Linux把世界时间(UTC)作为BIOS时间,本地时间(Local Time)是用户所在时区与国际时间的差值,而Windows中直接把本地时间作为BIOS时间。在多操作系统环境下这种不同的时间机制将使时间无法正确显示。(本人就是碰到上述问题)
解决的办法是编辑文件/etc/default/rcS把其中的UTC=yes改为UTC=no,然后再设置正确的本地时间。
介绍下Linux下设置时间的方法:
1、时间设置: #编辑文件/etc/timezone为以下内容:Asia/Shanghai 2、date MMDDhhmmCCYY 设定系统时间和硬件时间为MM/DD hh:mm, CCYY。 显示时间为本地时间而硬件时间使用UTC。 例:设置时间为下午14点36分。 # date -s 14:36:00 例:设置时间为1999年11月28号。 # date -s 991128 3、# hwclock --utc --systohc 4、# hwclock --show # date
设置系统时钟的操作:
# date 091713272003.30
通用的设置格式:
# date 月日时分年.秒
2.使用hwclock或clock命令查看和设置硬件时钟
查看硬件时钟的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13时24分11秒 -0.482735 seconds
设置硬件时钟的操作:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的设置格式:hwclock/clock --set --date=“月/日/年 时:分:秒”。
3.同步系统时钟和硬件时钟
Linux系统(笔者使用的是Linux Mint,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock命令来同步系统时钟和硬件时钟。
硬件时钟与系统时钟同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系统时钟和硬件时钟同步:
# hwclock --systohc
或者
# clock --systohc
4.修改设置时区
方法(1)
# tzselect
方法(2 仅限于RedHat Linux 和 CentOS)
# timeconfig
P.S.替换系统默认时区的方法
# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
对于中国服务器则执行:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果/etc/localtime文件不正确,是无法显示正确的时间的。
通过file命令查看该文件的结果为:
/etc/localtime: timezone data