You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含闰秒的类Unix时间格式咨询及Unix时间戳歧义澄清

嗨,咱们来一步步拆解你的问题:

包含闰秒的无跳变计时格式

有的,国际原子时(TAI) 就是完全符合你需求的计时标准。它严格以SI秒为单位累积,从1958年1月1日0时(TAI纪元)开始持续递增,没有任何跳变、重复或闰秒调整——因为闰秒本质上是UTC为了对齐地球自转而引入的修正,TAI完全不理会这些,只按原子钟的精准走时累积。

如果要类比Unix time的「时间戳」形式,你可以用TAI时间戳:以某个固定参考点(比如TAI纪元,或者和Unix纪元对齐的1970年1月1日0时TAI)为起点,计算经过的SI秒数。这种时间戳完全满足「仅计量任意参考点以来的SI秒数,无跳变或重复」的要求,唯一的缺点是日常系统和应用很少直接使用它,因为大多数场景需要和UTC(以及对应的人类作息时间)对齐。

Unix时间戳与物理瞬间的对应关系

单个Unix时间戳确实可能对应两个不同的物理瞬间,这种情况发生在UTC插入正闰秒的时候。

根据维基百科的定义,Unix time是「Unix纪元以来经过的秒数减去闰秒」。当UTC为了对齐地球自转插入正闰秒时,会出现一个特殊的UTC时间点:23:59:60。这个物理瞬间对应的Unix时间戳,和前一个UTC时间点23:59:59的Unix时间戳是完全相同的——因为UTC的秒数增加了1,但闰秒的计数也同步增加了1,两者相减后结果不变。

举个实际例子:2016年12月31日UTC的23:59:59和23:59:60这两个不同的物理瞬间,对应的Unix时间戳都是1483228799。这就意味着,这个单一的Unix时间戳对应了两个独立的物理瞬间。

需要补充的是:历史上还从未出现过负闰秒(即UTC跳过一秒的情况),但如果未来发生,Unix time的处理逻辑会让它直接跳增一秒,不会出现重复对应多个瞬间的情况,但依然会有跳变(不符合你之前提到的「无特殊情况」要求)。

内容的提问来源于stack exchange,提问作者David Callanan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:52:53