-1

它是关于时间的表示,使用 anint存储自 1970 年 1 月 1 日以来的秒数。

使用这种表示的程序何时会面临定时炸弹?发生这种情况时应该如何进行?

4

1 回答 1

1

我们今天是 2015 年。大约自 1970 年 1 月 1 日以来的秒数是

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

那是45年的秒数。

一个unsigned int(32位)可以存储值

4.294.967.295

这给我们留下了

2.874.875.295 seconds ~ 90 years to go from now on

我们还有时间去。

如果signed int使用 a,请参阅此链接(感谢 PM 的评论)。

可以signed int存储

2.147.483.647

这给我们留下了

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

因此这个问题的名称是:2038 年问题

那就是它可以在我们退休之前出现。

对于您关心的任何问题,请参阅SO 上的此链接

于 2015-07-22T07:04:50.177 回答