PHP&MySQL:2038年Bug:是什么?如何解決?我想用時間戳來存儲日期+時間,但我讀到它有一個2038年的限制。與其大量地問我的問題,我更喜歡把它分成幾個小部分,這樣新手用戶也很容易理解。所以我的問題是:2038年到底是什么問題?它為什么會發生,當它發生時會發生什么?我們怎么解決這個問題?除了使用它之外,是否還有其他可能的替代辦法,而這并不構成類似的問題?當時間戳真正發生時,我們能對使用時間戳的現有應用程序做些什么來避免所謂的問題呢?提前謝謝。
3 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
TIMESTAMP
DATETIME
這個 DATETIME
當您需要同時包含日期和時間信息的值時,將使用類型。支持范圍是 '1000-01-01 00:00:00'
到 '9999-12-31 23:59:59'
.
這個 TIMESTAMP
數據類型的范圍為 '1970-01-01 00:00:01'
世界協調時 '2038-01-19 03:14:07'
世界協調時。
TIMESTAMP
DATETIME

慕村225694
TA貢獻1880條經驗 獲得超4個贊
2038年的問題(又稱Unix千年Bug,Y2K38,類比于Y2K問題)可能導致一些計算機軟件在2038年之前或在2038年出現故障。 此問題影響到所有將系統時間存儲為帶符號32位整數的軟件和系統,并將此數字解釋為自1970年1月1日協調世界時00:00:00以來的秒數。最近可以用這種方式表示的時間是2038年1月19日星期二的協調世界時03:14:07。超過這一刻的時間將被“包圍”,并作為負數存儲在內部,這些系統將把這個數字解釋為1901年的日期,而不是2038年的日期。 對于現有的cpu/OS組合、現有的文件系統或現有的二進制數據格式,這個問題沒有簡單的解決方法。
添加回答
舉報
0/150
提交
取消