2038年问题

✍ dations ◷ 2025-07-09 21:01:05 #程式错误,2038年,年问题,未来问题

在计算机应用上,2038年问题可能会导致某些软件在2038年1月19日3时14分07秒之后无法正常工作。所有使用POSIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部分操作系统使用的软件。在大部分的32位操作系统上,此“time_t”数据模式使用一个有正负号的32位整数(signed int32)存储计算的秒数。依照此“time_t”标准,在此格式能被表示的最后时间是2038年1月19日03:14:07,星期二(UTC)。超过此一瞬间,时间将会“绕回”(wrap around)且在内部被表示为一个负数,并造成程序无法工作,因为它们无法将此时间识别为2038年,而可能会依个别实现而跳回1970年或1901年。因此可能产生错误的计算及动作。

有少数的情况下,在制定规格时,特别规定以无正负号的32位整数(unsigned int32)存储 POSIX 时间,因此错误会被延后到 2106 年。例如比特币区块链中的区块时间戳记,就是以这种方法存储。

目前并没有针对现有的CPU/操作系统搭配的简单解决方案。直接将POSIX时间更改为64位模式将会破坏对于软件、数据存储以及所有与二进制表示时间相关的部分的二进位兼容性。更改成无符号的32位整数则会影响许多与两时间之差相关的程序。不过,那时使用32位系统的计算机可能会很少。

大部分64位操作系统已经把time_t这个系统变量改为64位宽。不过,其他现有架构的改动仍在进行中,不过预期“应该可以在2038年前完成”。然而,直到2006年,仍然有数以亿计的32位系统在运行中,特别是许多嵌入式系统。相对于一般电脑科技18至24个月的革命性更新,嵌入式系统可能直至使用寿命终结都不会改变。32位time_t的使用亦被编码于文件格式,例如众所周知的ZIP文件压缩格式。其能存在的时间远比受影响的机器长。

新的64位运算器可以记录至约2900亿年后的292,277,026,596年12月4日15:30:08,星期日(UTC)。

相关

  • 伊米尔·哈卡伊米尔·哈卡(Emil Hácha,1872年7月12日- 1945年6月27日)是捷克的律师,担任1938年至1939年捷克斯洛伐克总统。1939年至1945年作为波希米亚和摩拉维亚保护国总统 。哈卡生于1872
  • 美拉尼西亚人美拉尼西亚人是美拉尼西亚的主要居民。大多数讲巴布亚诸语言之一,但也有一些群体讲南岛语(如马鲁古人、Motu和斐济人)。美拉尼西亚人已经占领了从印度尼西亚东部到东至瓦努阿图
  • 人形电脑天使心《Chobits》(日语:ちょびっツ)是日本漫画家团体CLAMP的日本漫画作品,自2000年9月至2002年10月间于日本讲谈社《周刊Young Magazine》上进行连载。单行本全8册。改编动画版自2002
  • 尤巴县 (加利福尼亚州)尤巴县(英语:Yuba County)是美国加利福尼亚州的一个县,县治马里斯维尔。根据美国人口调查局2000年统计,共有人口60,219,其中白人占70.64%、亚裔美国人占7.5%、非裔美国人占3.16%、
  • 李元李元可以指:
  • 高知县知事列表高知县知事列表包括高知县的历代县令、知事(官选:42代42人/公选:17代6人)。
  • 少年正义联盟少年正义联盟(英语:Young Justice)是一支虚构DC漫画超级英雄战队,这个战队由青少年英雄组成,首次登场于《少年正义联盟:秘密》(英语:,1998年6月),之后战队拥有自己的连载月刊。画家托德
  • 民族联合党 (瓦努阿图)民族联合党是瓦努阿图的一个政党,成立于1991年9月。该党为社会民主党,主要支持者为英语区民众。1999年,汉姆·利尼担任该党领导人。在2008年9月的立法选举中,该党赢得了52个席位
  • 潦河潦河,是中国长江流域的一条河流,汇入修水下游右岸,属于修水水系。河长148千米,流域面积4333平方千米,多年平均流量120立方米每秒。自然落差875米。水能理论蕴藏量3万千瓦。
  • 西班牙航空西班牙航空(西班牙语:Spanair)是西班牙的航空公司,基地位于巴塞罗那附近的L'Hospitalet de Llobregat,在2009年前是北欧航空集团的子公司,结业前持有约11%股份。西班牙航空不但经