歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> Linux下的Y2K問題

Linux下的Y2K問題

日期:2017/2/27 12:21:31   编辑:Linux文化

  這個話題以前討論過,這裡再討論一下,免得2000年到來時,全世界都灰飛煙滅了:-).Linux(以及Unix)系統通過計算從1970年1月1日開始到當前的秒數,來獲取當前日期信息。假設你看到Linux系統的日期顯示是一個字符串:“Fri Dec 3 08:50:17 PST 1999”,其實這個字符串是通過將秒計數器的值送到一個函數運算產生的。所以,對於秒計數器來說,2000年1月1日與其他日期沒有實質上的差別,其它將日期作為字符串來顯示的各種轉換程序也一樣。

  因此,如果你的Linux系統在2000年1月1日崩潰,那很可能是因為其它運行非Linux系統的電子設備導致。不過,如果你是一位非常具有前瞻性的人,不妨在2038年之前,檢查一下你的操作系統源碼,如果秒計數器還是一個32位整數型變量,2038年之後將會導致類似Y2K問題。

  如果你對Linux和Unix使用這種非標准的格式感到不解,考慮一下,當你的程序要比較不同的日期時,對32位整數值作加減運算,遠遠比你要考慮諸如月份、年份的分析比較要容易得多。

  以上關於Linux的討論,並不能保證你在某些應用程序不會產生問題,尤其是那些原來不是在Linux平台上編寫的程序,如果應用程序(比如一個數據庫)使用自己的日期格式,而不像Linux用一個32位整數值,那將有可能導致Y2K問題。

  加入你想做一些測試,找出那些顯示2位數字年份的應用程序,這些程序最有可能發現Y2K問題。需要說明一點,有些使用2位數字年份的數據庫,會自動將低於某一個數值的年份當成下一個世紀的年份。比如,年份小於80的被當成21世紀的年份,而年份大於80的則被當作20世紀。


——摘自:http://www2.linuxjournal.com/articles/buzz/022.html


Copyright © Linux教程網 All Rights Reserved