Mac OSX与Windows系统有“时差”

ZDNet软件频道 时间:2009-12-02 作者: | IT专家网 【已有 我要评论()
本文关键词:Windows Mac
电脑内部都有一个记录时间的RTC,这个实时时钟系统会自动运转,即使你已经关闭电源。Windows使用Local time,就是说Windows系统认为RTC系统内保存的时间就是本地时间,不再根据时区作相应的转换了。

  电脑内部都有一个记录时间的RTC,这个实时时钟系统会自动运转,即使你已经关闭电源。 IBM PC兼容机大多采用DS12887这个芯片,内部存储时间,包括年,月,日,时,分。还包括世纪,解决了千年虫的问题,但是这个系统没有关于时区的记录,时区的处理由操作系统才完成。

  从这里已经可以引申出,产生双系统时间不一致的原因,Mac OS X采用UTC,就是说在电脑RTC系统中保存时间,Mac认为时UTC时间,OS X再根据系统的时区转换成本地时间给你看。

  Windows使用Local time,就是说Windows系统认为RTC系统内保存的时间就是本地时间,不再根据时区作相应的转换了。Windows为什么不使用UTC,这个问题 微软官方也做过说明,因为早在DOS时代,就是使用本地时间,一直为了兼容性保留下来(历史的包袱)。

  从上面的说明可以看出,如果是北京时间东8区,就会相差8个小时了。

  PS: 很多其他的Unix Like的系统可以设置采用UTC还是Local Time。

  知道了原因就知道怎么解决了

  1 在Mac os x上把时区调整成冰岛,也就是常说的作冰岛人,冰岛是0时区,就是说本地时间和UTC一致,自然双系统就没有时差了。

  负面问题,你生活在在错误的时间里面,上网和时间服务器对时就会把时间修正过来;有些系统在你登录的时候,会要求你校准时钟,发现你的时间错误拒绝你登录;你发出的邮件时间也许是错误的;如果你的电脑和手机或者其他的电子设备连接,还可能把他们的时钟也同步错误了。

  2 在OS X和Windows两个系统里面都打开和时间服务器自动对时

  这个办法也是经常使用的办法,但不是防止了时差,而是产生时差的时候通过Internet连接时间服务器修正过来,也还是由一定的问题,第一,如 果没有联网怎么办?还是错的。第二,在系统启动过程中,一直到没有开始对时之前,时间都是错误的,那时候保存信息的时间都是错误的,例如日志一类的东西。

  3 Bootcamp widnows时间服务驱动

  从一开始出现Bootcamp让Mac装上Windows,Apple就知道这个问题,后来在Bootcamp加入了一个时间服务,这个东西没什么特别,还是需要联网对时,有时候还出点小乱子。

  4 还有一种方式,是一个在Mac OS X的补丁包。

  好像是让Mac使用本地时间,我们仔细研究过,从来没有安装过,为了Windows的时间去Hack Mac不值得。

  5 推荐的方式

  Windows虽然为了兼容性,一直沿用本地时间,但是在注册表中有一个设置可以让它使用UTC,这个正是我们需要的,修改注册表就好了。

  让Windows也使用Universal Time,这样即使在不联网的情况下,时钟仍然是正确的特别注意的是:取消Boot Camp的Apple时间服务,不然时不时Apple时间服务会把时间调正回去。

  1)开始菜单,运行regedit。

  2)打开TimeZoneInformation,位置

  HKEY_LOCAL_MacHINESYSTEMCurrentControlSetControlTimeZoneInformation。

  3)右击-创建一个新的DWORD,数值名称 RealTimeIsUniversal 数值数据 1 (十六进制) 注意大小写,修改完成确定并且把regedit关了。

  4)打开时间设置,取消自动与Internet时间服务器同步。

  5)取消Apple时间服务,控制面板-管理工具-服务,里面有个Apple时间服务, 右击它然后选择属性,启动类型选择禁用、停止。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134