2038年问题

✍ dations ◷ 2025-11-27 07:46:27 #程式错误,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)。

相关

  • 学说学说可能是指:
  • XKeyscoreXKeyscore是美国国家安全局所使用的秘密计算机系统,用于搜索和分析外国互联网数据。 该项目由澳洲的国防通讯处(英语:Defence Signals Directorate)和新西兰的政府通信安全局(英
  • 水部 (部首)水部,为汉字索引中的部首之一,康熙字典214个部首中的第八十五个(四划的则为第二十五个)。就繁体和简体中文中,水部归于四划部首。水部通常是从上、下、左方均可为部字。当上、下
  • Flower Bud《Flower Bud》,是韩国女子演唱团体GFRIEND的第二张迷你专辑,为“校园系列三部曲”的第二部曲,以《오늘부터우리는》(Me Gustas Tu)为主打歌。《오늘부터우리는》(Me Gustas Tu
  • 体味体味(英语:Body odor)即人体发出的气味,令人不悦的体味有时会称为体臭。体味可能是流汗等分泌物产生的气味,或是其他分泌物分解后产生的气味。例如腋臭就是腋下部分的大汗腺分
  • 阿尼斯·本哈蒂拉阿尼斯·本哈蒂拉(Änis Ben-Hatira,出生于1988年7月18日)是突尼斯的职业足球运动员,司职中场。2017年1月25日,德国足球甲级联赛达斯泰特因本哈蒂拉与伊斯兰教慈善组织Ansaar In
  • 葛洪 (南宋)葛洪(1152年-1237年),初名伯虎,字容父,一作容甫,号盘室,自号蟠室老人。婺州东阳马葛府(今浙江省金华市东阳市)人。南宋学者。宋理宗时参知政事。葛洪是吕祖谦弟子。南宋淳熙十一年(1184
  • 元游戏 (游戏方法)元游戏(英语:Metagaming),或者关于游戏的游戏,是指任何超越规定的游戏规则、利用外部因素来影响游戏、或超越游戏所设定的限制或环境的游戏方法。元游戏也可以指一种游戏方法是创
  • 日本杯日本杯是日本最高荣誉的赛马赛事,属国际一级赛,由日本中央竞马会举办。赛事于1981年首次举行。日本杯途程2400米,每年11月第四个(最后一个)星期日于东京竞马场草地跑道进行,头马奖
  • 松江城松江城(日语:松江城/まつえじょう)是位于日本岛根县松江市殿町的城堡。因其飞扬的檐角形似飞鸟展翅,因此又名“千鸟城”。松江城的现存天守是日本国宝之一,城址是政府认定的史迹。