2000年問題 | 千禧事件
「Y2K」重新導向至此。關於其他用法,請見「Y2K(消歧義)」。2000年問題(Year2000Problem,簡稱Y2K),中國大陸及香港常稱為千年蟲問題,台灣則稱千禧蟲危機,是指由於電腦程式設計的一些問題,使得電腦在處理2000年1月1日以後的日期和時間時,可能會出現不正確的操作,從而可能導致一些敏感的工業部門(比如電力,能源)和銀行,政府等部門在2000年1月1日零點工作停頓甚至是發生災難性的結果。2000年問題在英文中通常縮寫為Y2K。其中Y表示「year」也就是年,而K則表示拉丁字首「kilo」,表示1000。Y2K也可用來指2000年。一般來說,...
「Y2K」重新導向至此。關於其他用法,請見「Y2K (消歧義)」。2000年問題(Year 2000 Problem,簡稱Y2K),中國大陸及香港常稱為千年蟲問題,台灣則稱千禧蟲危機,是指由於電腦程式設計的一些問題,使得電腦在處理2000年1月1日以後的日期和時間時,可能會出現不正確的操作,從而可能導致一些敏感的工業部門(比如電力,能源)和銀行,政府等部門在2000年1月1日零點工作停頓甚至是發生災難性的結果。
2000年問題在英文中通常縮寫為Y2K。其中Y表示「year」也就是年,而K則表示拉丁字首「kilo」,表示1000。Y2K也可用來指2000年。
一般來說,由於電腦程式中使用兩個數字來表示年份,如1998年被表示為「98」、1999年被表示為「99」;而2000年被表示為「00」,這樣將會導致某些程式在計算時得到不正確的結果,如把「00」誤解為1900年。在嵌入式系統中可能存在同樣的問題,這有可能導致裝置停止運轉或者發生更加災難性的後果。
由於世界上各地的政府和企業都對兩千年問題給予足夠關注,1999年1月1日到2000年3月1日並沒有出現大範圍的電腦故障。
程式問題[編輯]兩千年問題始於1960年代,當時電腦記憶體和外部儲存媒介的成本很高,大多數資料處理需要藉助穿孔卡片。為了節省硬體成本,葛麗絲·霍普在Harvard Mark I上以6位數字來儲存時間,即年、月、日各兩位。這個習慣被COBOL繼承下來,傳播到整個電腦程式界。
當時的程式語言,如COBOL和RPG,使用ASCII和EBCDIC編碼表示資料。如果用四位數字表示年份,就要多占用儲存媒介空間,使成本增加;因此為了節省儲存空間,電腦系統的編程人員採用兩位數字表示年份。隨著電腦技術的迅猛發展,儲存媒介的價格逐步下降,但在電腦系統中使用兩位數字來表示年份的做法卻由於慣性思維而被沿襲下來;對大多數程式設計師來說,他們並不認為所編寫的軟體會持續使用很多年。
具體來講,兩千年問題要解決的事項包括以下幾個要點:
軟體在特定的日期會否出現運作錯誤。要留意的日期包括以下幾個日子: 1999年1月1日 1999年4月9日(1999年的第99日) 1999年9月9日 1999年12月31日 2000年1月...