在Windows中飞跃秒


38

最近在2015年6月30日23:59:60 UTC添加了second秒。

在Windows(特别是Windows 7)中如何实现leap秒?


7
台式计算机(尤其是便宜的台式计算机)因时钟不准确而臭名昭著,因此使用NTP。在Windows中关闭NTP一天,然后查看它与您的手机(使用NTP)的漂移程度。您可能会惊讶地发现它还有多远。
Keltari

2
@Keltari我不认为电话使用NTP。事实证明,即使电话没有数据连接(例如,没有数据计划),电话也会自动使时间离开移动网络,而NTP需要数据连接。您可以在电话上运行NTP。也许有些没有移动网络功能的电话(没有SIM卡的电话或平板电脑)会这样做。但是,面对延迟,仔细地测量时钟偏移的所有频繁数据包交换可能比从移动网络获取时钟要耗费更多的电池寿命,后者虽然精度较低,但足以满足电话需求。
Celada

Answers:


35

Windows Time服务如何处理a秒

Windows时间服务收到包含a秒的数据包时,Windows时间服务不指示“跃迁指示器”的值。(“跃迁指示器”指示在当前一天的最后一分钟是否要插入或删除即将到来的leap秒。)因此,在发生leap秒之后,运行Windows Time服务的NTP客户端比实际的快一秒。时间。在下一次同步时解决此时间差。


23
这不是快一秒钟,而是提前一秒钟。
Arturo TorresSánchez2015年

1
@ArturoTorresSánchez取决于是否要添加或删除the秒。本文的作者可能会想到负面的a秒。负leap秒尚未发生,但它们是可能的,并且可能由ntp支持。
Pepijn Schmitz

19
@ArturoTorresSánchez:至少在美国英语中,快一秒钟和领先一秒钟是同一回事。如果时钟提前,则速度很快。
Yorik

16
无论如何,“更快”是链接文章的直接引文。因此,您需要使用Microsoft而不是duDE。
GalacticCowboy

11
@GalacticCowboy,是的,我知道这是直接引用。只是困扰我。更快的时钟会与时间不同步。
Arturo TorresSánchez2015年

35

Windows通常充当NTP客户端。在NTP服务器的下一次更新期间,它只会更新其时间,该服务器显然具有处理leap秒的方法。只要您的系统设置为通过NTP同步时间,就会发生这种情况。如果不是这样,则不会发生任何事情,因为Windows 7没有内置功能来应对leap秒


11
“ Windows 7不具有处理leap秒的内置功能” -...也不可以,因为与leap日不同,leap秒是由某个委员会任意决定的。由于Windows 7无法读取未来,因此如果没有联系服务器就无法处理。
BlueRaja-Danny Pflughoeft 2015年

27
@BlueRaja Windows可以通过使用包含有关未来leap秒信息的公开可用的tzdata来“阅读未来”。这就是Unix系统如何正确处理leap秒的方法。同样,NTP数据包指示在接下来的24小时内a秒的到期时间。实际上,Windows 8.1及更高版本确实直接使用tzdata。
尼尔·梅休

8
换句话说,要直接回答问题,他们不是。
basic6 2015年

7

它们没有实现。

就像手表一样,PC的计时功能是愚蠢的。正如其他人提到的,Windows 7使用NTP将PC时间同步到已知源。这相当于您不时调整手表。

但是,如果打算编写涉及日期/时间数学的代码(其中两个日期之间的秒数很重要,并且这些计算必须与某种外部系统或数据相匹配),则the秒的确成为问题。 leap秒意识的。我正在努力思考任何这样的情况,但我想那里有一些情况。


2
这里某处必须有一个: wired.com/2015/07/…–
i_am_root

4

Windows一直在发展。Windows时间服务中没有规定leap秒。还需要注意的是,没有主要操作系统提供has秒功能。

乍一看,这听起来很奇怪。如果您了解a秒是什么时候以及添加when时,它将变得非常简单。

国际地球自转服务监测地球的自转不规则。一些因素改变了地球的自转。这些包括潮汐摩擦和大陆冰原融化(重量变化!)。总体而言,地球在如此缓慢地减速

维基百科

the秒的间隔不规则,因为地球的旋转速度不规则地变化。实际上,从长远来看,地球的自转是不可预测的,这解释了为什么只在六个月前宣布advance秒。

由于它是不规则的,并根据需要宣布,因此所有现代操作系统都依赖于网络时间协议(NTP)从the秒中恢复。这是一个广泛存在且众所周知的问题,没有合适的解决方案,因此亚洲市场将其开放时间延迟了五分钟,以使计算机有足够的时间检查NTP,以便在最后一秒钟内更新时间


3

Microsoft不在乎为Windows客户端提供超准确的时间。他们偷工减料,不处理特殊情况,例如桌面客户端的leap秒。幸运的是,NTP服务器可以保持更好的时间,因此只需保持同步即可!

W32Time服务不是满足时间敏感应用程序需求的功能齐全的NTP解决方案,因此Microsoft不支持。

Windows时间服务的工作方式


0

如Windows支持文章“ Support秒支持”中所述

Windows Server 2019和Windows 10 October 2018 Update确实在平台中支持leap秒。

支持文章还介绍了Windows上的早期版本如何不支持leap秒。尤其是:

Windows操作系统(OS)不会单独处理second秒处理。例如,Windows操作系统不支持以下格式的年,月,日期和时间信息:

yyyy / mm / dd 08:59:60

因此,按照ISO 8601格式,将2012/7/1 08:59:60处理为2012/7/1 09:00:00。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.