2038年問題
出自維基百科,自由嘅百科全書
2038年問題(又叫Unix 千年蟲、Y2K38、Y2K+38、Y2.038K)係指因為 Unix 操作系統嘅計時方法而可能搞到一啲軟件喺2038年出錯。好簡單咁講,因為 Unix 有正負整數卅二爻時間限制,即係由1970年1月1號0時0分0秒 [1],再過2³¹咁多秒,約莫去到2038年初,日子會跳「返轉頭」,搞到啲軟件唔知係幾時,啲嘢就錯晒。
目錄 |
[編輯] 卅二爻時間限制
喺 Unix 系統同埋啲 Unix-like 嘅系統,係用嚟秒嚟計時間,每秒用一爻(Bit)嚟代表。用嚟代表時間嘅 data type 叫 time_t,喺 Unix 上面,定 time_t 做一個正負整數(signed integer),有 32 爻咁大,有一啲去到 64 爻咁大(係近年 64 bit CPU 出現之後嘅事)。喺 Unix 上面,time_t = 0 規定咗係 1970 年 1 月 1 號 0 時 0 分 0 秒。所以,當 time_t = 10001,時間就係 1970 年 1 月 1 號 1 時 0 分 1 秒。如似類推,響 2 嘅 31 次方(即 2147483648)咁多秒之係,所有可以代表時間嘅整數都用晒,2038 年 1 月 19 號 03 點 14 分 7 秒就係最後可以代表得倒嘅時間。
