2038年問題

2038年問題係指 Unix 嘅計時方法嘅電子架生同電腦軟硬件喺2038年會發生日子時間計錯嘅問題。

Unix 操作系統計時嘅方法係由一個 ｢紀元｣開始逐秒計，爾種計時方法後來寫咗入 POSIX 標準，所以唔淨止 Unix 同類Unix系統，其他嘢都可能用爾種方法計時，爾種計時法嘅好處係轉夏令時間、轉時區都唔使人手校鐘，但係可能搞到一啲軟件喺2038年出錯。好簡單咁講，因為 Unix 有正負整數卅二爻時間限制，即係由1970年1月1號0時0分0秒 ，再過2³¹咁多秒，去到2038年初，日子會跳「返轉頭」，搞到啲軟件唔知係幾時，啲嘢就錯晒。

POSIX 嘅計時方法係用秒嚟計時間，每秒用一爻嚟代表。用嚟代表時間嘅資料類型叫 time_t，定義係一個正負整數，傳統上有 32 爻咁大，而 time_t = 0⸺即係上面講嘅 ｢紀元｣⸺就規定咗係世界協調時間 1970年1月1號 0時0分0秒。所以，當 time_t = 10001，時間就係 1970年1月1號 1時0分1秒。如似類推，響 2 嘅 31 次方咁多秒之後，所有可以代表正數嘅整數都用晒，2038年1月19號 3點14分07秒就係最後可以代表得到嘅時間。

2147483648 咁多秒之後，個系統就會返轉頭，變成 32 爻可以表示最細嘅負數，跳返1901年。令啲程序一要計時間嘅嘢就錯晒，因為佢哋無法將呢個時間識別為2038年。可能產生錯誤嘅計算同錯誤嘅動作。

有一啲系統嘅 time_t 去到 64 爻咁大，呢啲系統如果唔需要處理 32爻嘅 time_t 資料唔會受到影響。

2033年問題
 GPS嘅2038年問題

連結 
 The Year-2038 Bug Website
 Entry in How Stuff Works
 The Project 2038 Frequently Asked Questions
 Critical dates 2038
 Time Bug Back Again-2038 discussion with linux 2.4.20 kernel

設計疏忽