2038年问题

✍ dations ◷ 2025-05-06 08:08:49 #程式错误,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)。

相关

  • 拉迪诺语拉迪诺语(希伯来语:.mw-parser-output .script-hebrew,.mw-parser-output .script-Hebr{font-size:1.15em;font-family:"Ezra SIL","Ezra SIL SR","Keter Aram Tsova","Taamey
  • 性别表达性别表现(英语:Gender expression),包括性别气质,是指特定文化背景下与某种性别相关的人的行为、举止、兴趣和外观方面,特别是与女性表现或男性表现有关的类别。这也包括性别角色
  • 礼曹礼部是中国古代官署之一。南北朝北周时开始设立,在《周礼》中相当于春官,其长官礼部尚书,有时以“大宗伯”为代称。隋唐时已有礼部,为六部之一,掌礼部、祠部、主客、膳部。其后历
  • 206地震206地震可以指:
  • 北京师范大学出版社北京师范大学出版社是中华人民共和国的一家出版社,1980年8月成立于北京市。主要出版教材、教学参考书、工具书、学术专著等。
  • 童华 (山阴人)童华(1675年-1739年),字心朴,浙江山阴人。清朝政治人物。童华于雍正初年任平山县知县。后升真定府知府,代理按察使。又调苏州府知府。时值朝廷下令追缴税银,江苏巡抚四处抓人,百姓苦
  • Gamedolympic《Gamedolympic》(朝鲜语:게임돌림픽)为韩国电视频道OGN于2018年推出的综艺节目,节目主轴为韩国国内最大艺人电竞大赛。2019年续办第二届。“Gamedolympic”是分别由游戏(Game)、
  • 青岛海关中华人民共和国青岛海关,是中华人民共和国设在青岛市的山东口岸进出境监督管理机关,直属中华人民共和国海关总署,负责青岛市及山东省枣庄、烟台、济宁、威海、日照、临沂、菏泽
  • 星际浩劫《星际浩劫》(英语:)是一部1978年上映的美国科幻冒险片,由路易吉·柯齐执导并与Nat Wachsberger共同担任编剧。电影主演包括马乔·葛特纳(英语:Marjoe Gortner)、卡罗琳·门若(英语:C
  • 来义乡坐标:22°31′34″N 120°37′54″E / 22.5261768°N 120.6315727°E / 22.5261768; 120.6315727来义乡(排湾语:Rai)位于台湾屏东县内东部中段,北临泰武乡,东邻台东县达仁乡、金峰