什麼是閏秒?(以及為何將在2035年前廢除)

發布日期: 9:00 AM , 作者 時間.com.hk 編輯部

了解什麼是閏秒、其存在原因、造成的故障、Google的閏秒平滑處理,以及2022年國際度量衡大會為何投票決定在2035年前廢除閏秒。

一個數位時鐘顯示23:59:60,這是閏秒插入期間添加到UTC的罕見額外秒數。

什麼是閏秒?

閏秒是一種偶爾對協調世界時(UTC)進行的單秒調整,而UTC是您的手機、伺服器和衛星所同步的全球時間標準。當插入一個閏秒時,該日的最後一分鐘會包含61秒而非60秒——時鐘會先經過23:59:60,然後才跳至00:00:00。

閏秒聽起來微不足道,但事實並非如此。那一秒曾經導致大型網站崩潰、航班停飛,並引發了物理學家、天文學家和軟體工程師之間長達數十年的爭論。2022年,全球時間管理機構終於投票決定廢除閏秒。以下說明閏秒到底是什麼、為何存在,以及為何它即將被淘汰。

為什麼會存在閏秒?

問題歸結於兩種測量時間的方式並不完全一致。

原子時間極其穩定。 自1967年以來,秒的定義一直基於銫-133原子的振動——每秒9,192,631,770次振動。全球的原子鐘網絡維持著國際原子時(TAI),其規律性驚人:既不會加快也不會減慢。

地球的自轉並不穩定。 以地球實際自轉測量的一天長度略有變化。潮汐摩擦、地核運動以及冰蓋融化等質量變化都會影響自轉速度。長期來看,地球整體上正在減慢,因此天文日會比86,400原子秒略長。這種基於自轉的時間稱為UT1

如果放任不管,建立在穩定原子秒上的UTC和與實際太陽位置相關的UT1會逐漸偏離。為了保持它們一致,規則很簡單:UTC與UT1的差異絕不能超過0.9秒。 當差距接近這個極限時,就會在UTC中插入一個閏秒,讓原子時間「等待」較慢自轉的地球跟上。

因此,閏秒本質上是一種手動修正,使我們精確的原子鐘與我們實際居住的這顆搖擺行星保持同步。

閏秒的簡史

閏秒於1972年引入,當時UTC被重新定義為基於原子時間,同時仍與地球自轉掛鉤。

自那時起,截至2016年已增加了27個閏秒。迄今為止,每個閏秒都是閏秒——增加一秒,從未減少——因為在該時期地球自轉普遍落後於原子時間。最近一次閏秒插入是在2016年12月31日的23:59:60(UTC)。

此後出現了近七年的顯著間隔,因為近年來地球自轉實際上略有加快——足以讓科學家首次認真討論閏秒(減少一秒而非增加一秒)的可能性,這種情況從未發生,而且許多工程師對它的恐懼甚至超過了普通的閏秒。

誰決定何時插入閏秒?

閏秒並非按固定日曆安排。它們由總部位於巴黎附近的國際地球自轉與參考系統服務(IERS) 宣布,該機構持續監測地球自轉。

當UT1與UTC的差距接近0.9秒時,IERS會發布公告——通常提前約六個月——宣布將插入一個閏秒。按照慣例,插入發生在6月30日或12月31日(UTC)的末尾。

這六個月的提前通知時間是工程問題的關鍵:時間表是不規則且不可預測的。你無法像計算閏年那樣寫出公式來預測下一個閏秒何時發生。你必須等待IERS宣布,然後確保系統中的每個時鐘都知道這個資訊。

為什麼工程師討厭閏秒?

對大多數人來說,多一秒幾乎察覺不到。但對於期望每分鐘恰好有60秒的電腦來說,61秒的一分鐘就是一個地雷。

最著名的事件發生在2012年6月30日,當時插入了一個正閏秒。在那一刻,多個系統接連崩潰。Reddit 以及其他大型網站癱瘓。問題追溯到Linux核心處理時鐘在那一瞬間倒退的方式——它觸發了一種失控狀態,導致伺服器CPU佔用率飆升。依賴受影響軟體的航空公司訂票系統也報告了中斷,導致登機手續延誤。在更早的閏秒中也出現過類似的問題。

根本問題在於結構性的:

  • 事件罕見,因此處理閏秒的代碼路徑幾乎從未被執行,也極少在真實條件下測試。
  • 時間看起來會停滯或重複,而許多軟體默默地假設時間只會單調地向前推進。
  • 時間表不可預測,因此系統必須獲取並信任外部公告,而非自行計算調整。

由於現代的故障可能波及金融市場、電信網路和雲端平台,一次處理不當的秒鐘可能造成巨大損失。

Google 的「閏秒抹平」解決方案

與其突然一次性插入閏秒,Google 率先提出了一種稱為閏秒抹平(leap smear) 的方法。Google 的伺服器並非在午夜插入一整秒,而是將修正分散到一個較長的時間窗口——通常為事件前後的約24小時——透過讓每一秒變得難以察覺地更長(或更短)。

在抹平期間,沒有任何時鐘會顯示23:59:60,也沒有任何時鐘會倒退;時間只是在一天內運行得「稍慢」一些,直到多出的那一秒被悄悄吸收。軟體看到的是平滑、單調的時鐘,永遠不會遇到危險的邊緣情況。Amazon、Meta 等公司也採用了類似的抹平策略,這已成為大規模系統的實際生存技巧。

缺點是:抹平時鐘在數小時內刻意與官方UTC不一致——對大多數服務來說沒問題,但當你需要與未抹平的系統進行協調時就會很頭痛。這是一種針對產業日益認為根本不該存在的問題的權宜之計。

如果您使用自紀元時間(epoch time),請注意Unix 時間戳根本不計算閏秒——Unix 時間只是假設每一天恰好有86,400秒,這也是現實中的調整為何會帶來如此多摩擦的原因之一。

2035年決議:廢除閏秒

這場辯論在2022年國際度量衡大會(CGPM)——負責管理公制系統和秒的定義的國際機構——達到了高潮。

與會代表通過了一項里程碑式的決議:到2035年將停止增加閏秒的做法。 從那時起,UTC將被允許偏離UT1超過目前的0.9秒限制,而容許範圍將在之後重新談判——很可能允許差距在數十年內逐漸擴大,或許達到一分鐘或更多,然後才會考慮任何修正。

實際上,這意味著UTC將成為一個平滑、連續的時間尺度,不再有令人意外的61秒分鐘。需要地球自轉時間的天文學家仍然可以直接使用UT1;而所有運行電腦的人則終於可以得到一個可以信賴的穩定時鐘。這項改變是以一個微小、緩慢累積的與太陽的偏差,換取消除一個反覆出現的全球技術風險根源。

常見問題

是否曾經有過減少而非增加的閏秒?

沒有。自1972年以來插入的所有27個閏秒都是閏秒——增加一秒。閏秒(從23:59:58直接跳到00:00:00)從未發生過,儘管地球最近的自轉加速曾短暫使這種可能性變為現實,但2035年的決議讓整個問題變得沒有意義。

閏秒會影響時區嗎?

不會直接影響。時區是透過像IANA 時區資料庫這樣的資料庫管理的固定UTC偏移量。閏秒調整的是UTC本身,因此所有時區會在同一瞬間同步偏移——時區之間的偏移量永不改變。

我的電腦時鐘會在2035年改變嗎?

使用者不會看到明顯變化。2035年後,時鐘只是不再接收偶爾的閏秒。UTC將在多年內逐漸偏離天文時間,但這種偏差在日常生活中小到無法察覺。

UTC、TAI和UT1有什麼區別?

TAI是純粹的原子時間,極其穩定。UT1是基於地球實際自轉的時間。UTC是日常使用的標準:它像TAI一樣使用原子秒,但透過閏秒保持與UT1一致。截至2016年,UTC比TAI慢37秒。

為什麼不直接讓時鐘和太陽偏離?

這基本上就是2035年決議的做法。兩者偏差的增長非常緩慢——大約每世紀一分鐘——需要好幾代人才會產生影響,到那時可以刻意計劃一次性修正,而不是每幾年打一次補丁。


好奇機器在這些機制之下究竟如何計算時間?在自紀元時間中,閏秒完全消失——試試我們的Unix 時間戳轉換器,看看電腦如何精確追蹤一秒一秒的流逝。

現在時間 在 這些城市:

紐約市 · 倫敦 · 東京 · 巴黎 · 香港 · 新加坡 · 杜拜 · 洛杉磯 · 上海 · 北京 · 悉尼 · 孟買

國家目前時間:

🇺🇸 美國 | 🇨🇳 中國 | 🇮🇳 印度 | 🇬🇧 英國 | 🇩🇪 德國 | 🇯🇵 日本 | 🇫🇷 法國 | 🇨🇦 加拿大 | 🇦🇺 澳洲 | 🇧🇷 巴西 |

現在時間 時區:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | 中國(CST) | JST | AEST | SAST | MSK | NZST |

免費 小工具 適用於網站管理員:

免費模擬時鐘小工具 | 免費數碼時鐘小工具 | 免費文字時鐘小工具 | 免費詞語時鐘小工具