一条听起来很「冷门」但影响深远的技术新闻:国际计量机构决定,使用超过半个世纪的「闰秒」制度将逐步取消。对于普通人是新闻,对于程序员则是必须搞懂的时序问题。
闰秒是什么
地球自转并不均匀,会慢慢变慢;而原子钟极其稳定。为了让「以地球自转为准的世界时」和「以原子钟为准的国际原子时」尽量对齐,过去几十年里,人类偶尔会在某个时刻「加一秒」——这就是闰秒。
自 1972 年起,全球一共插入过 27 次闰秒。
为什么程序员讨厌它
- 时间可能倒退或重复:加闰秒的那一刻,同一秒会「出现两次」,靠时间戳排序、去重的系统会直接错乱。
- 分布式系统的一致性被打破:日志顺序、事务时间、幂等判断都可能出问题。
- 各家实现不统一:有的「暂停一秒」,有的「抹平摊到一天」,结果就是不同系统之间对不上。
2012 年就曾出现过大面积故障:闰秒插入瞬间,不少使用 Linux 的服务器 CPU 负载飙升、服务卡死。
取消之后,工程上要注意什么
- 统一用时间戳而不是本地时间:存储和计算尽量走 UTC(最好以 Unix 时间戳形式),避免本地时区转换带入的额外复杂度。
- 借助 NTP/chrony 并开启平滑处理:现代时间同步服务已支持「闰秒平滑」(leap smear),让系统时间缓慢偏移而非突然跳变。
- 慎用「时间倒退」假设:代码中不要假设「后取的时间一定大于先取的」,用逻辑时钟或版本号做顺序判断更稳妥。
- 测试环境复现闰秒场景:可以做简单的时间篡改测试,验证监控、告警、调度是否会被时间跳变带崩。
一句话总结
闰秒取消,是把「天文时间」和「计算机时间」解耦。对开发者来说,好消息是未来少了一类玄学故障;但只要你还在处理跨系统的时间,把 UTC 时间戳用规范、把顺序判断交给逻辑时钟,这两条永远不会过时。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















![囧次元[樱花动漫]去广告纯净版 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2023/01/7ef194ec378b-1024x768.jpg)

![[电脑软件]抖音采集/下载工具TikTokDownloader 5.3 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2024/05/20240510151922787-234818cqqjoo83p5s2us3e-1024x516.png)







暂无评论内容