2038年问题

✍ dations ◷ 2025-09-13 06:38:45 #程式错误,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)。

相关

  • 蜕皮动物蜕皮动物总门(拉丁语:Ecdysozoa)是一大类原口动物,包括节肢动物门、线虫动物门和几个小门。最初由Auinaldo等人于1997年定义,主要根据是18S 核糖体RNA树。而这个分类同时也被一系
  • 卡尔加里卡尔加里(Calgary,发音: /ˈkælɡəri/,当地华人及港澳台均译为卡加利,又译卡加立、卡技利,简称卡城)是一座位于加拿大阿尔伯塔省南部洛矶山脉的城市,亦是该省的最大城市。该市面积
  • 士气士气也称为团队精神,是指一个团队的工作气势和氛围,它用来描述个体或群体在维护共同信仰和目标时,表现出来的努力、斗志和效率。团队精神一词适用于军队或团队运动的成员,也适用
  • 北京大学第六医院北京大学第六医院,是一所三级专科医院,位于北京市海淀区花园北路51号,创建于1942年。该医院亦是2002年由中国疾病预防控制中心精神卫生中心主导成立的北京大学精神卫生研究所的
  • 2006年世界房车锦标赛德国站2006年世界房车锦标赛德国站是2006年度世界房车锦标赛的第四站赛事,正式比赛在2006年6月4日于德国奥舍斯莱本赛道上举行。这是历来第二次在德国举行赛事。第一回合由宝马车队
  • 加姆林在托尔金传说故事集的中土大陆里,加姆林(Gamling)是洛汗国的人类,为西谷领主鄂肯布兰德手下的部将,负责防守圣盔谷前的圣盔渠。他在《魔戒》第二部《双城奇谋》中登场。“ ”在
  • 傅全香傅全香(1923年8月3日-2017年10月24日),原名孙泉香,浙江嵊县人,中国越剧女演员,一级演员,为越剧十姐妹之一。1923年8月3日,生于浙江省嵊县后庄村。1933年从艺。1947年,与范瑞娟合作成立
  • 门松门松(日语:門松/かどまつ )是日本正月期间立于家门口旁边的由松与竹制作的新年装饰(日语:正月飾り)。它们也被称为“松飾り”、“飾り松”、“立て松”。这是日本新年的季语。 在
  • 洛心洛心,台湾网络小说作家,国中求学阶段移民加拿大,高中时期开始在网络上创作。成名作《小雏菊》于2004年改编为台湾红极一时的偶像剧《斗鱼》,也顺带捧红了主唱该剧片尾曲《Lydia
  • 巴纳姆·布朗巴纳姆·布朗(Barnum Brown,1873年2月12日-1963年2月5日)往往被昵称为“骨头先生”,是一位美国古生物学家。他是以马戏团演出者费尼尔司·泰勒·巴纳姆取名的。他发现了第一具有