硬件时间,操作系统时间,Windows 和linux 双系统时间差8小时问题说明

1、硬件时间:硬件时钟是存储在主板上CMOS里的时间即BIOS时间,关机后该时钟依然运行,主板的电池为它供电。对应于嵌入式设备有一个RTC模块。硬件时钟即RTC时钟。信息比较少没时区、夏令时的概念。

2、系统时间:是软件系统的时钟。软件启动时会去读取硬件时间,之后则独立运行。独立于硬件时间,拥有时区、夏令时等信息。系统时间又因为系统的不同使用了两种时间管理方法:

2.1、localtime:本地时间,目前只有 Windows 在使用。Windows 认为硬件时间就是本地时间,所以会直接把主板中的时间拿来当做当前的时间。设置或同步时间后也会把“正确”的时间写入主板,即操作系统中显示的时间跟BIOS中显示的时间是一样的。

2.1、UTC:是一种世界标准时间(伦敦当地时间),Linux、Mac等类 UNIX系统多数会使用,UTC 加减时区之后才是本地时间。而类UNIX系统认为硬件时间是 UTC 标准时间,即把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的(加减时区),即操作系统中显示的时间跟BIOS中显示的时间不一样相差对应的时区,比如说北京时间是UTC+8,则系统中显示时间是硬件时间+8。

3、当PC中Windows 和linux 双系统共存时,就出现了问题。

例如当你的linux设置的时区为北京时间东八区,当前系统时间为9:00AM。则此时硬件中存储的实际是UTC 时间1:00AM。这时你重启进入Windows后,你会发现windows系统中显示的时间是 1:00AM,比linux中慢了八个小时。同理,你在Windows中更改或用网络同步了系统时间后,再到linux中去看,系统就会快了8小时。 在实行夏令时的地区,情况可能会更复杂些。

4、解决办法

大致上有两种思路,一种是让 Windows 使用 UTC 时间;另一种则是让 Linux 使用 localtime,具体的操作这里就不写了。

 

转载于:https://www.cnblogs.com/pipci/p/8378399.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值