它是关于时间的表示,使用 anint
存储自 1970 年 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 上的此链接。