将 Windows 的系统时间同步到时间服务器,但比时间服务器的时间提前 10 分钟

将 Windows 的系统时间同步到时间服务器,但比时间服务器的时间提前 10 分钟

是否有软件或方法可以配置 Windows 7,以便我可以将时间同步到时间服务器,但我的系统时钟比时间服务器的时间快 10 分钟?

例如,当同步到时间服务器并且时间服务器显示时间是上午 07:00 时,我的系统时钟中显示的时间不是同步到上午 7:00,而是上午 7:10。

答案1

使用 SetTimeZoneInformationAPI我认为微软没有预料到您的需求,但可以定义一个带有 10 分钟偏移的自定义时区。这文章包含用于替换时区表的示例数据 - 只需稍加修改即可实现您想要的效果。


更新 - 以下是我从各种 MS 文档中收集到的信息

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\阿富汗标准时间]
"TZI"=十六进制:f2,fe,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"显示"="(UTC+04:30) 喀布尔"
“Dlt”=“阿富汗夏令时”
“Std”=“阿富汗标准时间”

以上是注册表项的示例。请注意 TZI 键和值

这个[TZI]结构指定了特定于时区的信息。

复制
typedef struct _TIME_ZONE_INFORMATION {
  长偏向;
  WCHAR 标准名称[32];
  SYSTEMTIME 标准日期;
  长标准偏差;
  WCHAR 日光名称[32];
  系统时间夏令时;
  长日光偏差;
} 时区信息;


偏见
指定此计算机上本地时间转换的当前偏差(以分钟为单位)。
偏差是 UTC 和当地时间之间的差异(以分钟为单位)。
所有 UTC 与当地时间之间的转换均基于以下公式。
UTC = 当地时间 + 偏差

以上内容适用于 WinCE,但我认为 XP/Vista/7 具有与 TZI 类似的结构。可以通过解码一些现有注册表项并查看结构是否匹配来验证这一点。

勇敢的人可以使用 Regedit 创建新的注册表项,使用合适的 TZI“偏差”值定义新时区。然后,他们可以将自己的时区设置为刚刚创建的时区。

相关内容