设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

Linux下时区的设置

2012-6-28 16:08| 发布者: 红黑魂| 查看: 8664| 评论: 1|来自: CSDN

摘要: 主机环境:Gentoo Linux 3.1.10  由于windows和linux两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。  Linux以当前主板CMOS内时间做为格林威治标准时间 ...

主机环境:Gentoo Linux 3.1.10


  由于windowslinux两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。


  Linux以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间(如时区设置为GMT+08:00北京时间时以及当前CMOS时间为03:00,那么系统会将两个时间相加得出显示在桌面的当前系统时间为11:00)。


  Windows 操作系统却直接把CMOS时间认定为当前显示时间,不根据时区转换。这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定后,也就同时修改了CMOS内的时间(即每调整一次时区,设置保存后,CMOS时间也将被操作系统改变一次,注意不同操作系统调整时间后,也会同时改变CMOS时间,这一点是共通的)。


  UTCUniversal Time Coordinated,协调世界时
  GMTGreenwich Mean Time,格林尼治平时
  在这里,你可以把UTC认为是GMT+0Windows(Linux/Unix/Mac)缺省看待系统硬件时间的方式是不一样的:
  * Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
  * Linux/Unix/Mac把硬件时间当作UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8


  这样,当PC中同时有多系统共存时,就出现了问题。假如你的LinuxWindowsXP中设置的时区都为北京时间东八区,而你在Linux中把当前系统时间更改为900AM。则此时硬件中存储的实际是UTC时间1:00AM。这时你重启进入Windows后,你会发现windows系统中显示的时间是1:AM,比Linux中慢了八个小时。同理,你在Windows中更改或用网络同步了系统时间后,再到Linux中去看,系统就会快了8小时。


  改windows上的时间后,有时它会自动又改回来。所以,最好在linux下的修改:


下面是修改方法:


设置Linux的时区


1、设置/etc/下的localtime


[plain] view plaincopy

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  


2、修改/etc/conf.d/hwclock


clock="local"  


酷毙

雷人

鲜花
1

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部