手机发帖,可能有拼写错误,在这先说声抱歉。
环境: arch+LXDE+ntp
问题就是标题的毛病。因为是XP(UTC)双系统,所以不能直接调时间,不然XP的时间就又错了
〔已解决〕,UTC、时区正确,CST(右下角显示)时间总是快8个小时
- 温习江湖
- 帖子: 580
- 注册时间: 2012-06-06 18:20
〔已解决〕,UTC、时区正确,CST(右下角显示)时间总是快8个小时
上次由 温习江湖 在 2013-07-21 19:15,总共编辑 2 次。
- 灰色小狼
- 帖子: 4585
- 注册时间: 2008-12-06 10:38
- 系统: Arch
Re: 求助,UST、时区正确,CST(右下角显示)时间总是快8个小时
windows下Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
- mudan
- 帖子: 58
- 注册时间: 2011-10-13 15:51
Re: 求助,UTC、时区正确,CST(右下角显示)时间总是快8个小时
UTC 和我们的时区总是快8个小时的,建议换成 local,具体可以在 Arch wiki 的 time 里找
刚开的小站:http://mudan.github.io
- lanjian9151
- 帖子: 403
- 注册时间: 2008-01-09 21:19
- 系统: Gentoo
Re: 求助,UTC、时区正确,CST(右下角显示)时间总是快8个小时
这跟Linux的UTC时间换算有关。
如果Linux使用了UTC时间,那么Linux会在每次开机时把BIOS的时间当成UTC的时间,这时在启动信息里你会看到有一行“读取hwclock”的信息,然后根据你 /etc/localtime文件进行对应的时区换算,比如你使用中国标准时间(CST)即北京时间,那么系统会把时间换算为CST=UTC+8, 这时你系统的时间就是对应时区的时间,关机时,Linux会进行反换算,把UTC=CST-8的时间存入BIOS时钟里面,这时你BIOS的时间其实是UTC的时间。
而XP默认是使用localtime的,即不使用UTC时间,不用换算,开机时系统会读取BIOS的时间,并且直接将BIOS的时间当作系统所设定时区的localtime。这时当你使用双系统时就出问题了。
假如你BIOS的时间是2013年7月21日6时,北京时间是2013年7月21日14时,这时你运行linux系统,那么根据上面的换算规则,你得到的系统时间将会是2013年7月21日14时,与北京时间是一致的。这时你如果切换到XP,那么根据XP的规则,你在XP里的系统时间是2013年7月21日6时=BIOS时间,这时你会发现比北京时间慢了8小时,所以你对系统时间进行了调整,将时间调快8小时,这时XP会将新的系统时间写入BIOS,此时你BIOS的时间是2013年7月21日14时。当你再次换到linux系统时你会发现你linux的系统时间变成了2014年7月21日22时,比北京时间又快了8小时,这样你每次进行系统切换时都要进行时间调整。
这个问题的解决方法有两种,一种方法是关闭linux系统的UTC时间,直接读取BIOS时间为系统时间,另一种方法就是2楼给出的,把XP的默认时间模式改为UTC。
如果Linux使用了UTC时间,那么Linux会在每次开机时把BIOS的时间当成UTC的时间,这时在启动信息里你会看到有一行“读取hwclock”的信息,然后根据你 /etc/localtime文件进行对应的时区换算,比如你使用中国标准时间(CST)即北京时间,那么系统会把时间换算为CST=UTC+8, 这时你系统的时间就是对应时区的时间,关机时,Linux会进行反换算,把UTC=CST-8的时间存入BIOS时钟里面,这时你BIOS的时间其实是UTC的时间。
而XP默认是使用localtime的,即不使用UTC时间,不用换算,开机时系统会读取BIOS的时间,并且直接将BIOS的时间当作系统所设定时区的localtime。这时当你使用双系统时就出问题了。
假如你BIOS的时间是2013年7月21日6时,北京时间是2013年7月21日14时,这时你运行linux系统,那么根据上面的换算规则,你得到的系统时间将会是2013年7月21日14时,与北京时间是一致的。这时你如果切换到XP,那么根据XP的规则,你在XP里的系统时间是2013年7月21日6时=BIOS时间,这时你会发现比北京时间慢了8小时,所以你对系统时间进行了调整,将时间调快8小时,这时XP会将新的系统时间写入BIOS,此时你BIOS的时间是2013年7月21日14时。当你再次换到linux系统时你会发现你linux的系统时间变成了2014年7月21日22时,比北京时间又快了8小时,这样你每次进行系统切换时都要进行时间调整。
这个问题的解决方法有两种,一种方法是关闭linux系统的UTC时间,直接读取BIOS时间为系统时间,另一种方法就是2楼给出的,把XP的默认时间模式改为UTC。
- 温习江湖
- 帖子: 580
- 注册时间: 2012-06-06 18:20
Re: 求助,UTC、时区正确,CST(右下角显示)时间总是快8个小时
多谢楼上各位辛勤解答,问题已经解决!
hwclock --systohc --{utc/localtime} 只能生成 /etc/adjust文件,不能删除,需手动删除
那些换算之类我都是知道的,东8区嘛。
本想直接在arch下解决,无赖按照不少地方的说法调整都无法解决。
遂切到XP,发觉修改注册表的方法在XP这里有点问题。
再次切到arch,看wiki,里面提到一句 hwclock…… 是用来生成 /etc/adjust 的,果断删掉已经生成的文件,再次生成,调整时间,OK!
hwclock --systohc --{utc/localtime} 只能生成 /etc/adjust文件,不能删除,需手动删除
那些换算之类我都是知道的,东8区嘛。
本想直接在arch下解决,无赖按照不少地方的说法调整都无法解决。
遂切到XP,发觉修改注册表的方法在XP这里有点问题。
再次切到arch,看wiki,里面提到一句 hwclock…… 是用来生成 /etc/adjust 的,果断删掉已经生成的文件,再次生成,调整时间,OK!
- 温习江湖
- 帖子: 580
- 注册时间: 2012-06-06 18:20
Re: 求助,UTC、时区正确,CST(右下角显示)时间总是快8个小时
多谢楼上各位辛勤解答,问题已经解决!
hwclock --systohc --{utc/localtime} 只能生成 /etc/adjust文件,不能删除,需手动删除
那些换算之类我都是知道的,东8区嘛。
本想直接在arch下解决,无赖按照不少地方的说法调整都无法解决。
遂切到XP,发觉修改注册表的方法在XP这里有点问题。
再次切到arch,看wiki,里面提到一句 hwclock…… 是用来生成 /etc/adjust 的,果断删掉已经生成的文件,再次生成,调整时间,OK!
hwclock --systohc --{utc/localtime} 只能生成 /etc/adjust文件,不能删除,需手动删除
那些换算之类我都是知道的,东8区嘛。
本想直接在arch下解决,无赖按照不少地方的说法调整都无法解决。
遂切到XP,发觉修改注册表的方法在XP这里有点问题。
再次切到arch,看wiki,里面提到一句 hwclock…… 是用来生成 /etc/adjust 的,果断删掉已经生成的文件,再次生成,调整时间,OK!
- iorikyox
- 帖子: 92
- 注册时间: 2010-04-02 16:16
Re: 〔已解决〕,UTC、时区正确,CST(右下角显示)时间总是快8个小时
这个问题,我在今天遇到了。
debian系统,mate桌面,发现系统时间CST比UTC时间快了8小时,系统UTC时间与真实时间是一样的。找了很多教程,也没解决问题。
后来发现,系统的NTP服务没有安装,ntpupdate也没装,进入8新立得软件中心安装后,系统CST时间恢复正常。
虽然这是老帖,还是回一下,省得以后有人遇到同样的问题,找答案麻烦。
debian系统,mate桌面,发现系统时间CST比UTC时间快了8小时,系统UTC时间与真实时间是一样的。找了很多教程,也没解决问题。
后来发现,系统的NTP服务没有安装,ntpupdate也没装,进入8新立得软件中心安装后,系统CST时间恢复正常。
虽然这是老帖,还是回一下,省得以后有人遇到同样的问题,找答案麻烦。