首先说明结论,旨在消除部分不负责任的报道给读者带来的恐慌:
2015 年 6 月 30 日午夜的闰秒,对科技界、对大家的日常生活可能带来的影响微乎其微。
关于闰秒(Leap Second)存在的原因和大部分软件系统对闰秒的处理方式,在互联网上不难查到。为了方便非技术背景的人了解这个问题的全貌,我把分散在各种信息源的几点重要信息简单汇总一下。
为什么要有闰秒
由于潮汐等地质作用,地球的自转速度并非恒定。每隔一段时间,目前世界范围内通用的协调世界时(UTC)会与依据地球围绕太阳运动计算的平太阳日(Mean Solar Time)和世界时(UT1)出现很小的偏差。因此需要对 UTC 增加或减少一秒来消除这个偏差。
多长时间有一次闰秒
会对地球自转速度产生影响的因素包括潮汐、地壳运动、冰川融化、地震等自然现象,这些作用的叠加使得地球自转速度的变化并不均匀,有时变快有时变慢,因此每次闰秒的间隔不固定且无法预测。
每次地球自转速度的偏差积累到一定程度时,国际地球自转和参考系服务(IERS)会基于实际观测,提前六个月公布下一次闰秒的时间,以保证 UTC 和 UT1 的偏差不超过 0.9 秒。闰秒的修正通常在该年度的 6 月 30 日或 12 月 31 日午夜进行。
最近的三次闰秒分别发生在 2005 年 12 月 31 日、2008 年 12 月 31 日和 2012 年 6 月 30 日。
从 1988 年这一做法被确立至今,一共发生过 25 次闰秒。2015 年 6 月 30 日会是第 26 次闰秒。
闰秒对普通人有什么影响
简单的说就是几乎没有任何影响。
闰秒的设置与时区无关,全世界都在同一时刻发生。因此对处于东八区的中国而言,下次闰秒的实际时间是 7 月 1 日早上 7 点 59 分 59 秒。
大部分民用设备本身就很容易会产生秒级的时间误差,闰秒的作用完全可以忽略不计。可联网的电子设备如手机电脑基本都能够与互联网同步时间,闰秒发生后系统时间会自动同步。
对于时间精度要求较高的设备和应用,如 GPS、通讯设备等,闰秒并不是一个突然出现的新概念,过去 30 年里已经发生过 20 多次。这些设备在设计的时候就充分考虑了闰秒,可以正确处理。但是闰秒毕竟是一个发生频率不高且不规律的事件,针对它的测试可能会不周全,所以不排除少数设备会因为软件 bug 受到影响。
2012 年闰秒那天部分网站宕机、航班延误是怎么回事
软件和互联网行业日新月异,每年都有大量代码和程序被创作出来。而最近十年只有三次闰秒,肯定会有很多开发者不熟悉这个概念,在编写一些对通讯依赖较多的程序时没有意识到闰秒可能带来的影响,埋下隐患。2012 年一些著名网站和公司受到影响,大多是一些由局部 bug 引发的系统级问题。不过当年出现问题并引起关注的程序,基本可以认为都已经修复了相关 bug。
IERS 在 1 月 5 日公布 2015 年 6 月的闰秒后,软件公司和开源社区有接近 6 个月的时间再次检查各种可能受到影响的程序。乐观的看今年六月底应该不会出现什么大的混乱;悲观的话,也可以说人都会犯错误,所以也一定会有网站和服务受到影响。在我看来,也许稍显刻薄,到 2015 年还在处理闰秒上犯低级错误的大型生产级程序,是会被科技界嘲笑的。
专业人士怎么看待闰秒
实际上闰秒确实会为计算机和软件系统带来一些问题,主要原因是它的不可预测性——谁都不知道在未来六个月里会不会有一次新的闰秒。另一方面闰秒的相关知识在世界范围的开发者群体中普及率较低,不难预见很多程序员的时间将会浪费在「犯错误->发现错误->学习闰秒相关知识->(骂粗口)->修改错误」这样的过程中。
有些国际机构曾经提出取消闰秒的议案并在国际大会上进行表决,但这些议案目前都处于驳回或延期决定的状态。学界至今提出的新方案也都还存在各种问题,不能完美替代闰秒。业界的解决方法则多从务实需求出发,比如 GPS 系统的时间以原子时(TAI)而非 UTC 为参照。这部分讨论需要的术语和专业知识过多,就不再展开了。
结论:
闰秒每过几年就会有一次,虽然没有规律不能预测,但会提前至少六个月公布。有些新编写的考虑不全的程序也许会出错,但是绝大部分专业系统在设计时就考虑了闰秒,而且早已经历过一两次闰秒的实际检验。因此普通人的生活不会受到什么影响。
写这个回答,就是希望大家不要被某些耸人听闻的报道牵着鼻子走。了解一点关于闰秒的知识,也不失为一个有趣的谈资。