#修改 Windows对硬件时间的对待方式,让 Windows把硬件时间当作UTC
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
UTC即Universal Time Coordinated,协调世界时
GMT即Greenwich Mean Time,格林尼治平时
Windows 与 Linux 缺省看待系统硬件时间的方式是不一样的:(caused by)
* Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
* Linux/Unix/Mac把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8.
Windows解决方案
Win+R进入cmd,以管理员身份运行后在命令行中输入下面命令并回车
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
Linux解决方案
打开terminal,编辑/etc/default/rcS文件
sudo vi /etc/default/rcS
找到这一行
UTC=yes
把yes改为no,保存并退出
如果说找不到UTC = yes 直接在terminal运行(本人亲测Ubuntu16.04)
sudo timedatectl set-local-rtc 1