今年是閏年,所以2月有29天,縱使閏年是可以計算的,但還是有許多服務或程式沒能妥善處理少見的2月29日,而出現各種情況,微軟軟體工程師Matt Johnson即在自己的部落格中整理了相關問題,例如美國電信業者Sprint的用戶,在2月29日時,手機依然顯示2月28日。

或者是遊戲串流服務Shadow的用戶,在世界標準時間(UTC)的2月29日凌晨時,無法透過Windows電腦登入該服務。

其中,Sprint要求使用者手動將手機日期設定為2月29日,而Shadow則要求使用者關閉Windows的時間同步功能,並把時間往後設為3月1日。

而零用錢管理程式Gohenry也出現了同樣的閏年臭蟲,家長原本定期要發給小孩的零用錢,在2月29日這一天竟然沒有入帳。

以及TP-Link智慧插座原本有一個網頁版的電力使用監控儀表板,結果用戶在3月1日時發現,整個2月份的報表都不見了,猜測也是受到閏年的影響。

還有Python的synapse、timestring及aioftp套件,C語言的日誌函式庫Stumpless,以及開源的Animal Shelter Manager軟體,也都因為無法處理2月29日而出現問題。而若在PHP程式語言中使用了DateTime::createFromFormat,並先寫日期再寫年份,就會直接跳過2月29日,此一臭蟲在2012年的閏年就出現過了,只是一直沒有被修補,不過它的解決方法很簡單,只要先寫年份再寫日期就好了。

可能是受到閏年臭蟲的啟發,一名YouTuber Carey Holzman在日前警告,假設使用者在技嘉(Gigabyte)的主機板上安裝Windows 10 1909(Windows 10 November 2019 Update),並將主機板BIOS的現在時間設到3001年1月18日之後,那麼便無法完成Windows 10 1909的安裝,並會在重新啟動時鎖住;而且就算使用者更正了主機板上的BIOS時間,但Windows依然會把它改為原本設定的時間,於是開機時便會再度鎖住。

該臭蟲同時影響支援AMD與Intel的技嘉主機板,也可能影響其它任何可將BIOS日期,設定到3001年1月18日以後的主機板。

不過,除非使用者自行重新設定主機板的BIOS日期,否則並不會立即觸發此一被稱為Y3K的臭蟲,媒體則打趣,幸好微軟與技嘉還有980年的時間,可以修補該臭蟲。

熱門新聞

Advertisement