fbpx
维基百科

2038年问题

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

2038年问题演示:第一行是「time_t」数字的二进制表示;第二行是其十进制表示;第三行是受影响的计算机理解的时间;第四行是实际的时间
2038年问题
大部份的32位操作系统 - 2038年1月19日
距今还有5468
以当地时间计算
如发现倒数时间不准确,请点击此处刷新

有少數的情況下,在制定規格時,特別規定以無正負號的32位元整數(unsigned int32)儲存POSIX时间,因此錯誤會被延後到2106年。例如比特幣區塊鏈中的區塊時間戳記,就是以這種方法儲存。[2][3]

目前并没有针对现有的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)。

參考文獻

  1. ^ . IEEE and The Open Group. The Open Group. 2004 [2008-03-07]. (原始内容存档于2008-12-19). 
  2. ^ Bitcoin Developer Reference - Bitcoin: Block Headers. bitcoin.org. [2018-03-05]. (原始内容于2020-12-08). 
  3. ^ Theymos. Block timestamp- Bitcoin Wiki. [2016-06-01]. (原始内容于2020-11-16). 

參見

外部連結

  • Entry in How Stuff Works (页面存档备份,存于互联网档案馆
  • The Project 2038 Frequently Asked Questions (页面存档备份,存于互联网档案馆
  • Critical and Significant Dates 2038 (页面存档备份,存于互联网档案馆
  • A 2038-safe replacement for time.h on 32 bit systems (页面存档备份,存于互联网档案馆
  • The number glitch that can lead to catastrophe (页面存档备份,存于互联网档案馆
  • Clewett, James. . Numberphile. Brady Haran. [2019-04-06]. (原始内容存档于2017-05-22). 

2038年问题, 此條目可参照英語維基百科相應條目来扩充, 2020年7月29日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 在计算机应用上, 可能会导致某些软件在2038年1月19日3. 此條目可参照英語維基百科相應條目来扩充 2020年7月29日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 在计算机应用上 2038年问题可能会导致某些软件在2038年1月19日3时14分07秒之后无法正常工作 所有使用POSIX时间表示时间的程序都将受其影响 因为它们以自1970年1月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年 因此可能产生错误的计算及动作 2038年问题演示 第一行是 time t 数字的二进制表示 第二行是其十进制表示 第三行是受影响的计算机理解的时间 第四行是实际的时间 2038年问题大部份的32位操作系统 2038年1月19日距今还有 5468 天以当地时间计算如发现倒数时间不准确 请点击此处刷新有少數的情況下 在制定規格時 特別規定以無正負號的32位元整數 unsigned int32 儲存POSIX时间 因此錯誤會被延後到2106年 例如比特幣區塊鏈中的區塊時間戳記 就是以這種方法儲存 2 3 目前并没有针对现有的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 參考文獻 编辑 The Open Group Base Specifications Issue 6 IEEE Std 1003 1 2004 Edition definition of epoch IEEE and The Open Group The Open Group 2004 2008 03 07 原始内容存档于2008 12 19 Bitcoin Developer Reference Bitcoin Block Headers bitcoin org 2018 03 05 原始内容存档于2020 12 08 Theymos Block timestamp Bitcoin Wiki 2016 06 01 原始内容存档于2020 11 16 參見 编辑2000年问题 10000年问题 民國百年蟲 网络时间协议 UNIX时间 2147483647 32位元表示的最大整數 以2的補數法表示 外部連結 编辑Entry in How Stuff Works 页面存档备份 存于互联网档案馆 The Project 2038 Frequently Asked Questions 页面存档备份 存于互联网档案馆 Critical and Significant Dates 2038 页面存档备份 存于互联网档案馆 A 2038 safe replacement for time h on 32 bit systems 页面存档备份 存于互联网档案馆 The number glitch that can lead to catastrophe 页面存档备份 存于互联网档案馆 Clewett James 2 147 483 647 The End of Time Unix Numberphile Brady Haran 2019 04 06 原始内容存档于2017 05 22 取自 https zh wikipedia org w index php title 2038年问题 amp oldid 75626114, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。