閏年蟲

閏年蟲

“閏年蟲”是人們對於一些電腦軟體在設計時未考慮閏年因素,將所有年份的2月都默認為有29天或者28天而出現運算錯誤的一種形象叫法,因為在英文裡Bug兼有臭蟲、缺陷等含義,所以這一缺陷被稱為“閏年蟲”。

問題

計程車故障計程車故障

計程車故障

2012年2月29日,“閏年蟲”發作。廣州50多家計程車公司的近1500輛計程車計價器出現故障。出現故障的計程車計價器均為廣州華港電子科技有限公司生產。初步判斷故障原因是相關計價器晶片無法將時間跳至2月29日,導致計價器無法正常工作。

南京交管網站曝光信息全部“消失”南京交管網站曝光信息全部“消失”

交管網站無記錄

2012年2月29日,南京交管網站查詢違章記錄,結果都是“您好,截至查詢期止,資料庫中無違法記錄!”“交管線上”網站查詢違章信息時,默認是以兩年為查詢周期,也就是說,2012年2月29日查詢,系統自動將起始日期向前提兩年,也就是2010年2月29日。

2012年是閏年,2月有29日;而2010年不是閏年,2月沒有29日。但是,交管線上的查詢系統卻沒有注意到這個問題,自動把2010年的2月變成了29天,所以導致查詢不到違章記錄。

歷史影響

閏年蟲閏年蟲

早在2000年2月,當時剛經歷了“千年蟲”的電腦系統,又被擔心在2月29日這天會出現類似千年蟲的計算機故障。一些計算機行業的人士指出,2月29日對於很多計算機系統而言仍是一個易出故障的時間,這一天很可能被計算機視為3月1日或是將3月1日視作2月30日。
在2008年,由於有2月有29日,微軟的許多軟體卻並不承認有那么一天,包括Exchange2007,SQLServer2008,WindowsSmallBusinessServer等。WindowsMobile等軟體儘管能識別出這一天,但在處理部分任務的時候會出現錯誤。於是,微軟在SQLServer2008CTP發布後曾經宣讀了一份證明,建議用戶不要在格林威治標準時間2月29日安裝和運行軟體,以減少影響。並且在WindowsSmallBusinessServer上還會出現更嚴重的錯誤:因為在微軟的日曆里根本沒那么一天,因此就無法頒發證書。WindowsMobile用戶更是坐上了時空機器,在2008年2月28日之後直接跳到了2035年3月1日。

判斷閏年規則

判斷某年是否是閏年的規則有三:

一是最通用的即能被4整除的年份是閏年
二是能被100整除的年份不是閏年;
三是能被400整除的年份是閏年。

檢測方法

檢測計算機系統中是否還存在電腦“閏年問題”,用戶可以變更計算機的時間設定。

計算機專家介紹,具體的做法是先將電腦日期設為2000年2月28日,並將時間設為23:58分,然後關機。等待3分鐘後重新開機,這時電腦的時間應為零點過一分至兩分,日期應為2000年2月29日。再打開幾個應用程式,看其是否正常運行。最後將電腦的日期和時間調回到當前的設定。
這一測試完畢後再將電腦日期設為2000年2月29日,重複進行測試。如果在兩次測試中電腦時間都順利過渡過2月29日和3月1日,而且程式運行正常,那么電腦就沒有“閏年問題”。
在這項測試中,輸入日期和時間之後必須關機,等待一段時間後重新開機。此外,如果電腦聯入區域網路,時間是由網管員進行設定,那么必須先拔掉電腦里的網卡,再進行上述各項測試。

相關詞條

相關搜尋

熱門詞條

聯絡我們