2015-07-22 16 views
-1

它是關於通過使用int存儲的秒數的時間表示自1月1日,1970年面對計算機中的定時炸彈?

當將使用這種表示方案面臨的定時炸彈?發生這種情況時應該如何繼續?

+0

請分享代碼以及你所做的一切嗎? –

+4

查看https://en.wikipedia.org/wiki/Year_2038_problem –

+0

我希望通過system.currentmilliseconds我能夠得到int,但我無法理解定時炸彈(q?) – user5142032

回答

1

我們今天是2015。大約自1970年1月1日以來的秒數是

(2015 - 1970) * 365,25 * 24 * 60 * 60 = 1.420.092.000 

這是45年內的秒數。

unsigned int(32位)可以存儲爲我們留下

2.874.875.295 seconds ~ 90 years to go from now on 

我們仍然得到了一些時間去值

4.294.967.295 

如果使用signed int,請參閱此link(謝謝PM的評論)。

signed int可以存儲

2.147.483.647 

這給我們留下了

727.391.647 ~ 23 years to go from now on, i.e. 2038. 

因此該問題的名稱:2038年問題

也就是說它可能會出現我們的退休。

無論您擔心什麼,請參閱this link on SO

+0

謝謝@elyasin – user5142032