原文:http://www.linuxdiyf.com/viewarticle.php?id=57999 时间就是金钱。。。。。可以差了8小时 :0(1 。。。。一段时间里一直很苦难。。。。⒏晓得怎么解决 现在基本上是解决老。。。和大家分享下 先说时区的配置,主要是两个文件: /etc/localtime /etc/timezone timezone这个文件是个文本,里面只需要写一行自己的时区就行,我们这里就是上海(Asia/Shanghai) localtime这个文件的类型不清楚,里面就写了些timezone data,它可以从系统自带时区文件那里拷贝,位置在:/usr/share/zoneinfo 从这个目录下找到Shanghai拷贝到/etc下的localtime即可,同样也可以做个联接,也是同样效果 设定了时区,还要确定Linux的时间方案。Linux支持UTC时间,Coordinated Universal Time,也就是世界协调时,也就是本初子午线上的时间,它和以前的格林威治标准时(GMT)的区别似乎是它是由多个原子钟平均出来的。在 /etc/default/rcS这个文件中,设定了系统是否使用UTC,UTC=yes就是用。 计算机自己还有自己的时间,也就是硬件时间,hard clock,也就是存在BIOS里那个时间,关机也不会丢失。计算机启动时,就要读取这个时间。这个时间如果设定为UTC(GMT),也就是伦敦那地方的时间,就要在rcS文件中设定UTC=yes,反之则要设为no。 总之就是两种正确的设置: BIOS=本地时间,UTC=no BIOS=UTC时间,UTC=yes 一般来讲,BIOS里面都设定为当地时间,这是因为如果装双系统的话,Windows似乎不懂UTC,就会出问题。这时UTC=no。 Linux读取这个硬件时间要用到hwclock这个命令: hwclock --show :显示硬件时间 hwclock --systohc :将系统时间写入硬件 hwclock --hctosys :将硬件时间写入系统时间 linux修改时区的步骤: 1)找到相应的时区文件/usr/share/zoneinfo/Asia/Shanghai ,用它替代当前的/etc/localtime文件 或者找你认为是标准时间的服务器,然后#scp root@xxx.xxx.xxx.xxx:/etc/localtime/etc/localtime 2)修改/etc/sysconfig/clock文件,修改为: ZONE="Asia/Shanghai" UTC=false ARC=false 修改日期时间: 1) 用date修改日期时间 #date -s 08/24/2006 #date -s 13:02:00 2)同步BIOS时钟,强制把系统时间写入CMOS #clock -w 另外,查看Bois时间用 #hwclock -r #tzselect 可以交互式修改时区 查看硬件时间: # hwclock --show 或者#clock --show 设置硬件时间: # hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒) 或者#clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒) 硬件时间和系统时间的同步: 按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。 硬件时钟与系统时钟同步:# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)或者# clock --hctosys 系统时钟和硬件时钟同步:# hwclock --systohc或者# clock --systohc