2038什么意思(2038啥意思)

点击上方关注,一网打尽魔都新鲜事。

如果你密切关注Linux领域的发展和动向,肯定了解2038年错误(Year2038 bug),也被很多人称为2038时间大危机。

意思就是,到了2038年1月19日,所有32位系统的时间不能正常往前走,而是跳回到1901年12月13日,从而导致系统和文件错误/默认过期,不能正常使用,影响人们的交通出行银行借贷信息等等。

其实在2000年的时候,就遇到一次这样的问题,因为电脑时间不能正常向前走,而导致系统将文件误认为已经过期或者将文件删除等错误操作,引发系统混乱甚至崩溃等故障。这个问题也被称为“9999虫(千年虫)。

这是与日历日期的格式和存储有关的计算机错误。

这个问题之所以会出现,是由于早期计算机中的存储空间很昂贵。于是,为了减少存储空间,程序员使用了六位数的MMDDYY日期格式。由于程序能够为年份YY添加19,它节省了资金,但缩减了文件和数据库的大小。然而,这种程序发现很难区别2000年、1900年和19100年。

关于2038年时间危机

目前,Unix带符号的32位整数时间格式来表示的最新时间是2038年1月19日03:14:07UTC,这是1970年1月1日之后过了2147483647秒。过了那个时间后,由于整数溢出,时间值将作为负数来存储,系统会将日期读为1901年12月13日,而不是2038年1月19日。

而这个问题也是目前全球计算机世界的一大问题。目前,2038年错误没有什么通行的解决方案。

但是,使用64位架构的操作系统和程序使用64位time_t整数。使用带符号的64位值可以将日期延长至今后的2920亿年。

换句话说,真正到了2038年,大家的手机电脑也都更新得差不多了吧!?