
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。
Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系
装完win7和Linux双系统后,进入Linux后再进入Windows,你会惊奇的发现时间不对了,差了有8个小时。 导致这样的原因是Winows和 Linux 对硬件时间的处理方法不同,Windows将硬件时间作为本地时间,而Linux则将硬件时间处理为UTC时间。因此在中国UTC+8时区的情况下使用 Windows 和 Linux 会有八个小时的差异。 解决方案: Linux命令: hwclock可以查看硬件时间, timedatectl可以查看本地时间、UTC时间、时区、是否开启时间同步等信息。 思路: 将两个系统对硬件时间的处理统一化,统一将硬件时间做为本地时间。 Windows时间不做处理,在Linux下处理时间 timedatectl set-local-rtc命令可以将硬件时间 设置为本地时间或UTC时间 如果经过上述设置之后时间显示不正确了,可以通过下列命令同步时间。 1. windows把硬件时间当作本地时间,也就意味着windows系统中显示的时间和BIOS中显示的时间是一样的。 2. mac把硬件时间当作UTC ,也就意味着mac系统中显示的时间是硬件时间经过换算得到的。显示的时间是硬件时间+时区。例如北京则是硬件时间+8小时 1. 更改windows中注册表 2.设置mac将硬件时间当作本地时间,不作为UTC时间即可。 1. windows系统中的设置 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1 或者用命令行: @echo off color 0a Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 echo. echo 已让Windows识别存贮在主板CMOS内的时间为格林威治标准时间(GMT),即系统根据CMOS时间和设置的时区来确定当前系统的时间。 echo. pause 2. linux系统中的设置 修改/etc/default/rcS,设置不使用UTC时间,设置如下: UTC=no 3. mac系统中的设置 a. 将时区设置为格林尼治标准时间 b. 将时间调整为当前时间,存储即可。(注意自动设置日期与时间不要打开,否则时间会更改)欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)