考虑一台机器,其时间在leap秒内用中午到noon线性涂片涂抹。
我想知道系统时钟如何在涂片期间提供准确的时期时间。
示例:
-
leap第二次计划于2016年12月31日。
-
在机器上,12月31日11:59:00的Unix时间戳是
1483185540
- 中午开始涂抹,这意味着系统的本地时钟在下午1:30,已经在TAI和UTC之后几微秒。时期时间戳应为
1483191000
(恰好1小时31分钟(,这对TAI/UTC不再准确,因为Epoch不尊重Leap seconds - UTC在12pm添加了额外的一秒钟:11:59:60 pm,本地涂片时钟应正常继续
- 直到1月1日中午,全球UTC和本地UTC再次同步,现在,本地时期的时钟现在落后于全球时代/tai
这种不准确是如何解决的?一旦系统知道第二次跃升,当地时代时间是否会跳过一秒钟?或该问题如何处理?
这是否取决于用于计算时间的时钟的实现?如果是这样,GNU的CORUTILS date
如何处理此操作?
未解决不准确性。自1970-01-01-01 00:00自1970-01-01 00:00 UTC(不包括插入的LEAP秒(以来,UNIX时间仍然是秒数。这具有使秒数易于转换为 {year, month, day, hour, minute, second}
表格的好处。
有一个问题,即跨第二个插入的两个Unix时间点的减法将导致时间持续时间比现实少一秒钟。