论坛风格切换切换到宽版
  • 803阅读
  • 5回复

[问题求助]【原创】linux windows 硬件时间,系统时间,时区处理全过程,实践出真知 ^_^ [复制链接]

上一主题 下一主题
离线ilxd.
 
发帖
2128
C币
-60197
威望
412
贡献值
1
银元
-1
铜钱
4904
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
【原创】linu.x windows 硬件时间,系统时间,时区处理全过程,实践.出真知 ^_^ .

        对于一个操作系统是时间能够在开关机后正确显示,处理好两点要点就可以了,一是要在关机时候系统存储一个秒数(按理说存储一个毫秒数应该更精确呀,但是也许是太占存储空间了把 ^_^ 反着现在业界形成的规定就是秒数啦)然后在关机的时候由主板上的电池每隔一秒钟就加一下它的数值就好啦 ^_^ 这样系统就能在关机下还能存储住正确的时间。在开机的时候在把.这个被.主板电池操作后的秒数.加载回系统来处理就好啦。这样一个时钟的存储过程就说通啦。其实本来这样就可以了,但是这个地球竟然是个球,导致有人是黑天有人是白天,没有办法所以人又分了时区,以GTM或U.TC时间为全球时间的基准点,(这两个概念上我希望大家不要混,虽然起源背景有一些不同,但是到了实际应用.中基.本上表示的意义都是一样的,那就是全球的基准时间,数值上基本是相同的)为全球的基准时间,和地区的时间。比如中国的CST时间(CST = Ch.ina S.tandard Time .UT.C+8:00,大家看到啦UTC+8:00=GTM+8:00)。由于UTC和CST都是一.个数(秒数)所以将那个数存储bios的时间里面就是一个很严重的问题了。.经过测试不同的UTC和CST不同存储方式直接影响这系统间时间的兼容性。(        游戏          )
        时间处理方法1. .存储UTC.的秒数那么整个系统的开关机过程将为:.
                关机:CST(时区变化,加减相应的小时)->UTC->bios-------------在这种情况下,在bios.中看到的就是UTC时间啦(由于bios中没有时区的概念,所以你要像看懂这个时间代表的是什么地方的时间,你.一定要明.白它.由谁存的数,还有这个数原本代表了什么意义,如是那个时区的)(        游戏          )
  .              开机:.bios->UTC->CST(时区变化).
    .    时间处理方法2. 存储CST.的秒数那么整个系统的开关机过程将为:.
.               关机:CST(不用时区变化了,之间化为.秒数后)->bios-------------这个时候你.在bios中看到的时间就是有时区的啦 ^_^ 电脑
               . 开机:bios.->CST.
        大家看到这两种方法后应该.发现,其实真的不能说那种存储方法更好,其实过程都差不多,但.是如果装两个不同操作系统的机子就有麻烦了,怎么说呢,比如一个操作系统(比如windows)是用2方法存储的时间,但是另一个操作系统..是用1来存储时间的(大家要看到,他是这么存储时间的所以他一定也是用1的方法来解析的),.那么在这个后一个的操作系统中可能看到正确的时间么?(当然不能呀,能看到才怪 ^_^ )。              乙肝
.       经过实际测试发现,现在操作系统的默认存储方法都是采.用的.是第二种方法(就是直接存储CST时间的啦,如UBUNTU windows fedora等,不信大家可以自己去测试呀)。说到这里要说说了,以前看过有兄弟说机器一个是windo.ws一个是linux双系统的机器里面时间老是错误的情况,那要怎么改呢?windows咱不懂不说了(主要是找不.到在哪里改时间存储方式……),所以只能让linux去适应windows啦,改linux的时间存储方式就是去改/etc/sysconfig/clock 这个文件(redhat和fedora里面有的,ubuntu默认下就和windows是匹配的配置随意大.家不用.改,而且ub.untu好像没有/etc/sysconfig/clock这个文件……)这个文件的内容如下(广告)
        # cat /etc/sysconfig/cl.oc.k (广告)
        # The ZONE parameter is only evaluated by s.ystem-co.nfig-date.(广告)
     .   # The timezone of the s.ystem is defined. by the contents of /etc/localtime.          婚庆
        ZON.E="A.sia/Shanghai"<性病>
.       UTC=false.
        ARC=f.alse           建材
        看到UTC这个东东了把,对于他来说true就是用1的方法方法存储.时间啦,false就是用2的方法来存.储时间啦^_^。为了配合windows所以大家只能改成false这样就.万事大吉啦 ^_^ .
        还有一个需要和大家说的就是,大家都说 date 命令改的是系统时间,而 hwclock 命令改的是硬件时间,但是我发现(大家不信可以自己去试试看)用hwclock --set --date="2009-2-13"根本改.变不了系统的bios时间(我说的是改后重启系统后在bios中看到底是不是你设定的值),反.而用 date -s 可以改bios系统时间 ^_^ 。这是为什么呢?哦,原来是因为不管你改没改硬件时间,系统在关机的.时候都会将当前的系统时间写入bios(之前的hwclock白改……),就像1或2.存储过中的关.机过程那样。所以说你用hwclock --set --date="2009-2-13"确实改了硬件时间,但是在关机的时候,这个时间又被当前系统时间给覆盖了(唉……),有人说hwclock --systohc 可以改变硬件时间,我想说那你仔细想想这个命令有意义么?(你只.不过是..将当前的系统时间和硬.件时间同步了一次,只是让关机时候的自动时间覆盖过程看不出.来了而已。)    美容
        我想说的就是这么多了,由于是刚开始.学习linux,英文也不是很好(其实英语还行,但是一看见一大堆英语在一块就想吐……),所以很多的地方是实践后得出的结果,大家不信可以试试看,如有不对的.还请多多指教.。谢谢大家 ^_^ 虚拟主机



一些说明:
GTM、UTC            .    国际的标准基准时间,用来同一时间用.的,用户一般用不到,查看命令date -u[成人用品]
CST                            .    一般操作系统都用它为时间,查看命.令date电影
se.tup命令   .             设定时区超级好用教育

linux中有:
系统时间                简.单可以理解为加载了时.区的时间,如CST服务器
硬.件时间                简单理解为.在bios中的时间              乙肝

[ .本帖最后由 art_codes 于 2009-2-13 19:55 编辑. ]外贸

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
2133
C币
-193311
威望
363
贡献值
1
银元
-2
铜钱
4686
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:【原创】linux
如有什么大家感觉不对的,欢迎板砖……

离线tqt2000.
发帖
2043
C币
-60529
威望
379
贡献值
1
银元
-2
铜钱
4521
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:【原创】linux
晕 我这帖子为什么没人看呢?…………怪怪 那里有错误么?

离线期他待~~.
发帖
1934
C币
-235561
威望
376
贡献值
1
银元
-2
铜钱
4359
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
Re:【原创】linux
不错,不过GTM应该是GMT

离线zd052.
发帖
2053
C币
-193435
威望
385
贡献值
1
银元
-3
铜钱
4617
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
Re:【原创】linux
恩,我也感觉到hwclock命令好像没什么作用,还是date

离线wscxyy.
发帖
2093
C币
-140091
威望
377
贡献值
1
银元
-4
铜钱
4609
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
Re:【原创】linux
是GMT 谢谢 ^_^
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个