根据此struct tm
documentation,值tm_sec
可以是0 - 61
,额外的范围是在某些系统中包含闰秒。如何检测系统中是否存在闰秒,特别是在我的openSUSE 13.2机器中?
答案 0 :(得分:1)
与特定系统相关的闰秒不。它甚至不是直接的信息问题,而是物理问题。
在理想的世界中,每个时钟都非常准确,没有理由闰秒。但在我们受限制的世界中,时钟往往会偏离。
移动系统时间,特别是向后移动会导致不良事件发生。如果批处理任务存储其上次运行的时间以了解哪些文件已被处理,而因为时钟向后移动它认为时间现在是在上次运行之前,它将再次处理文件可能是完全错误的。
出于这个原因,系统开发人员发明了闰秒,允许系统调整其系统时钟(当然只有轻微的增量,但通常只要你在常规基础上检查时钟就足够了)而不必向后移动它
如@Supuhstar所述,这只是闰秒的操作系统实现。但是闰秒具有真正的物理起源,并且被引入以补偿时间UTC和TAI的两个定义之间的变化 - 地球自转速度的物理变化。我在其他post of mine
中详细介绍了它