日常002:双系统时间不一致问题
推荐解决方法:Windows管理员执行如下命令,将硬件时钟设置为UTC时间
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
详解如下
导致时差的原因
- 在Windows下,系统时间=BIOS时间。Linux/macOS系统下,系统时间=UTC+8,BIOS存储UTC时间。
-
一旦启动Linux/macOS,开机时会自动与网络同步时间,BIOS时间就是当前的8小时前。随后重启后进入Windows系统,系统不会联网更新时间,并直接把BIOS中的UTC时间当做当前时间。Windows也就慢了8个小时。
GMT时间、UTC时间、BIOS时间、当地时间联系和区别.drawio
解决思路
将Windows与Linux/macOS配置为相同的时间标准就行了。
方案一:Linux 系统将硬件时钟设置为本地时间
Linux运行
sudo timedatectl set-local-rtc 1
方案二:Windows将硬件时钟设置为UTC时间
方法一:使用命令行(管理员权限):
打开命令提示符(Command Prompt)以管理员身份运行。
运行以下命令来将系统时钟设置为 UTC:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
重新启动计算机使更改生效。
方法二:使用注册表编辑器(Registry Editor):
- 打开注册表编辑器:按下
Win + R
键,键入regedit
,然后按 Enter 键。- 转到以下注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
- 在右侧窗格中,右键单击空白处,选择
New -> DWORD (32-bit) Value
,创建一个名为RealTimeIsUniversal
的新值。- 双击
RealTimeIsUniversal
值,并将数值数据设置为1
。- 重新启动计算机使更改生效。
一些常见的全球时间标准
1. UTC(协调世界时) :
- UTC 是国际上通用的标准时间,基于原子钟的时间测量。
- UTC 考虑了闰秒的调整,以确保与地球自转的匹配。
- 许多国家和组织使用 UTC 作为其标准时间。
2. GMT(格林尼治标准时间) :
- GMT 是最初用于标准时间的术语,基于英国伦敦格林尼治天文台的本地时间。
- GMT 没有夏令时调整,保持固定。
- 在一些上下文中,GMT 可能被用作与 UTC 同义词,尽管严格来说它们有些微差异。
3. 时区:
- 世界被划分为多个时区,每个时区都有自己的标准时间。
- 时区通常以 UTC 偏移量来表示,例如 UTC+0 表示格林尼治标准时间,UTC+1 表示比格林尼治时间快一小时。
- 中国:UTC+8