2023年政策修订增补工作正在进行中,欢迎参与!
User:LJL/2038年计算机问题
< User:LJL
此页面中存在需要长期更新的内容及资料列表,现存条目中资料未必是最新。
另请编辑者注意:请不要在人物历程等相关内容中悬挂此模板。具体使用方法详见模板说明文档。
另请编辑者注意:请不要在人物历程等相关内容中悬挂此模板。具体使用方法详见模板说明文档。
2038年计算机问题(Year 2038 problem) | |
---|---|
产生时间 | 2038年1月19日凌晨03:14:07(UTC) 2038年1月19日中午11:14:07(UTC+8) |
影响的系统 | 32位的计算机系统 如:安卓系统 基于32位的WindowsNT系统等 |
造成影响 | 系统崩溃,计算时间错误 |
类型 | 时间计算bug |
2038年問題 |
全球:UTC时间计算 -2038年01月19日03:14:07 |
- |
以GMT+8时间计算 |
2038年問題 |
全球:中国北京时间计算 -2038年01月19日11:14:07 |
- |
以GMT+8时间计算 |
概念
2038年问题是32位系统的最大的一个计算机时间计算机问题,类似于2000年的“千年虫”问题。
主要的产生的现象是:到达指定的时间后,32位系统的时间计算由于受储存器计算限制,导致时间重置为“0”(即恢复到开始的时间的计算时间点),然而这个“0”刚好是1970年1月1日0时0分0秒(UTC)
产生的原因
起因是源自32位的计算问题和时间的起点问题
32位的计算机本身可以计算时间的极限秒数为2147483647秒(忽略润秒),当它计算到了最后一秒之后,无法继续正数计算,变成负数,回到了32位计算时间的起点——1970年1月1日0分0秒(UTC)
然后计算机的各种网络证书、电子签名开始无效,导致计算机系统错乱。
如果想更加的去了解这个内容,这就要涉及到C语言“标准时间库”的问题,但是我不想深入介绍,有兴趣可以看看度娘提供的说明。
解决办法
目前来说最好的解决办法是——换64位系统
目前对这个问题处理的话很难,需要将时间计算起点重新确定,但是一旦这么修改,已经发布的所有32位的程序必须要兼容这个计算起点,这个转换时间非常漫长,很难处理。
所以从Windows2004版本开始不在发布新的32位系统更新是对的qwq
愣着干嘛?换电脑啊