Unix 纪元时间在闰秒时钟上的表现如何?
How does Unix Epoch time behave on a leap smeared clock?
考虑一台机器,其时间在闰秒期间被中午到中午的线性拖尾拖尾。
我想知道系统时钟如何在拖尾期间提供准确的 Epoch 时间。
示例:
闰秒定于2016年12月31日
在机器上,12 月 31 日 11:59:00 的 Unix 时间戳是 1483185540
- 中午开始拖尾,这意味着 1:30 下午的系统本地时钟已经比 TAI 和 UTC 晚了几微秒。 Epoch 时间戳应该是
1483191000
(恰好 1 小时 31 分钟后),这对 TAI/UTC 不再准确,因为 Epoch 不遵守闰秒
- UTC 中午 12 点增加一秒:11:59:60 下午,本地模糊时钟应正常继续
- 至此,1 月 1 日中午全球 UTC 和本地 UTC 再次同步,本地纪元时钟现在比全球时钟落后整整一秒 Epoch/TAI
这个错误是如何解决的?一旦系统知道发生了闰秒,本地大纪元时间是否会跳过一秒?或者这个问题是如何处理的?
它是否取决于用于计算时间的时钟的实现?如果是这样,GNU 的 coreutils date
如何处理这个问题?
不准确的地方没有解决。 Unix 时间保留自 1970-01-01 00:00:00 UTC 以来的秒数,不包括插入的闰秒。这样做的好处是可以轻松将秒数转换为 {year, month, day, hour, minute, second}
形式。
它有一个问题,即减去跨越闰秒插入的两个 Unix 时间点将导致持续时间比实际少一秒。
考虑一台机器,其时间在闰秒期间被中午到中午的线性拖尾拖尾。
我想知道系统时钟如何在拖尾期间提供准确的 Epoch 时间。
示例:
闰秒定于2016年12月31日
在机器上,12 月 31 日 11:59:00 的 Unix 时间戳是
1483185540
- 中午开始拖尾,这意味着 1:30 下午的系统本地时钟已经比 TAI 和 UTC 晚了几微秒。 Epoch 时间戳应该是
1483191000
(恰好 1 小时 31 分钟后),这对 TAI/UTC 不再准确,因为 Epoch 不遵守闰秒 - UTC 中午 12 点增加一秒:11:59:60 下午,本地模糊时钟应正常继续
- 至此,1 月 1 日中午全球 UTC 和本地 UTC 再次同步,本地纪元时钟现在比全球时钟落后整整一秒 Epoch/TAI
这个错误是如何解决的?一旦系统知道发生了闰秒,本地大纪元时间是否会跳过一秒?或者这个问题是如何处理的?
它是否取决于用于计算时间的时钟的实现?如果是这样,GNU 的 coreutils date
如何处理这个问题?
不准确的地方没有解决。 Unix 时间保留自 1970-01-01 00:00:00 UTC 以来的秒数,不包括插入的闰秒。这样做的好处是可以轻松将秒数转换为 {year, month, day, hour, minute, second}
形式。
它有一个问题,即减去跨越闰秒插入的两个 Unix 时间点将导致持续时间比实际少一秒。