數字的世界,即使一個微小的錯誤也可能造成慘重的後果。2001 年的 9 月 11 日,美國發生恐怖攻擊,許多人哀嘆,因此在當天後的幾個月內,新聞媒體報導了多起因為時間戳記問題引起的軟體失敗事件。
時間戳記,是一個方便而常見的方式來記錄時間。它是一個用來表示某個事件發生時間的數字,通常是以秒、毫秒或微秒的形式表示。不過這樣的時間戳記有個最大的問題,就是容易受到計算機的系統時鐘影響,導致在某些情況下不同的電腦上表示的時間不一樣。
2003 年 1 月,美國東部時間下午 4 點,一名軟體工程師在測試一個新的匯率轉換程式時發現了一個問題。該程式可以將匯率轉換成各種貨幣的數字,但在某些情況下,該程式會將數字設定為負數。經過進一步調查後,發現問題出現在應用程序中使用的一個時間戳記。
這個問題源於該公司的系統時鐘時間同步問題。當系統時鐘時間與標準時間的差異超過數分鐘時,該應用程序將停止工作並顯示錯誤訊息。而且,這個問題沒有被解決,一直存在於該應用程序中。
2004 年 8 月,一名購買了出租車業務的公司的老闆,發現系統上所有的現金流轉情況出現了問題。經過檢查後,發現問題在一個修改過的時間戳記上。而且,在檢查應用程序的代碼時,發現了一些時間戳記的意外行為,但是卻沒有被發現或修復。
此次事件非常嚴重,因為這個失敗可能使公司面臨進一步損失,並且客戶的信任也會受到嚴重的影響。
在數據中,時間更不能被忽視。時間戳記的問題嚴重影響到了許多應用程序的功能和穩定性。 軟體工程師需要盡一切努力來避免數據和時間的問題,這樣才能確保客戶的滿意度和公司的成功。