fbpx
维基百科

2000年问题

2000年问题(英語:Year 2000 Problem),在英文中也被简称为Y2K,在中國大陸香港常被称为千年虫问题[1][2],台湾則称千禧蟲危機,是指由于当时的计算机程序在日期表达上的设计问题,从而导致计算机会误读在2000年后的一些日期,并进一步导致计算机出现错误所引起的计算机问题,当时的计算机程序普遍采用6位数字来存储时间,只显示四位数字后的两位数字,但这又会导致计算机系统紊乱,使其无法区分2000年与1900年,从而导致了误读问题[3][4][5],并导致计算机紊乱。2000年问题可能会威胁到那些运行在重要行业中的计算机与大量社会基础设施,甚至影响到政府部门与军队。从而导致停水、断电,银行瘫痪,最极端的情况下,它甚至可能会导致核电站发生事故[6]核武器导弹失控[7][8][9]以及交通与通信的中断,并最终引发灾难性的后果[10]

图中就是2000年问题所造成后果的一个实例,这个悬挂于南特中央理工学院的电子标志将2000年1月3日错误显示为了1900年1月3日。

但最终,在2000年问题引起社会广泛重视后,它得到了足够的关注与处理,最终在规模庞大的修复行动后,它没有在新千年到来之际引起全球电脑系统的大规模瘫痪[11][12][13]

程序问题 编辑

两千年问题始于1960年代,当时计算机内存和外部存储介质的成本很高,大多数数据处理需要借助穿孔卡片。為了節省硬體成本,葛麗絲·霍普Harvard Mark I上以6位數字來儲存時間,即年、月、日各兩位。這個習慣被COBOL繼承下來,傳播到整個電腦程式界。

当时的编程语言,如COBOL和RPG英语IBM RPG,使用ASCIIEBCDIC编码表示数据。如果用四位数字表示年份,就要多占用存储介质空间,使成本增加;因此为了节省存储空间,计算机系统的编程人员采用两位数字表示年份。随着计算机技术的迅猛发展,存储介质的价格逐步下降,但在计算机系统中使用两位数字来表示年份的做法却由于惯性思维而被沿袭下来;对大多数程序员来说,他们并不认为所编写的软件会持续使用很多年。

具体来讲,两千年问题要解决的事项包括以下几个要点:

  • 软件在特定的日期会否出现运作错误。要留意的日期包括以下几个日子:
    • 1999年1月1日
    • 1999年4月9日(1999年的第99日)
    • 1999年9月9日
    • 1999年12月31日
    • 2000年1月1日
    • 2000年2月28日
    • 2000年2月29日
    • 2025年1月1日(昭和100年問題)
    • 2038年1月19日(参见2038年问题
    • 2099年1月1日
    • 2099年4月9日
    • 2099年9月9日
    • 2099年12月31日
    • 2111年11月11日
  • 软件会不会利用特定的日期格式来表示档案完结,或档案已删除。
  • 软件会否出现错误的日期,如“19100年”或“3000年”。

两千年问题是由鮑伯·貝默英语Bob Bemer在1958年第一次提出的。在其后的二十年里,他用了很大的努力,希望政府、企业和国际组织(如IBMISO)来关注这个问题,但反响寥寥。直到2000年将要到来的时候,人们才感觉到两千年问题的紧迫性。于是社会和政府都投入了大量的人力和物力来避免发生大规模的计算机灾难。而从现在来看,这些努力也取得了相应的成果。

问题的引申 编辑

有些程序可能会免在2000年出现闰日而强行修改计算日期的过程。这些程序如果继续在將來的閏年使用的话,有可能会导致日期错乱。

另一方面,对于其它使用其它历法的地区,如台湾民国纪年或日本的和曆,类似问题也有可能在稍后年份出现。例如:民国100年就在2011年。如果所用的软件没有解决两位年份的问题,那其实只是将两千年问题從2000年推迟11年後再发生。

对于目前在世界上广泛用作服务器软件的Unix系统来讲,由于传统的Unix系统使用32位的整型数表示日期(这个32位数字表示从1970年1月1日起至所存储日期过去了多少秒),因此在2038年日期将会被卷回,这类似于2000年问题。时间将可能重新从1970年1月1日开始计算,这将可能引起世界范围的计算机故障。这被称为2038年问题

此外仍然有一个问题:是否存在10000年问题。當然这是一个遥不可及的问题。

问题的延续 编辑

 
展示JavaScript“.getYear()”函数问题的网页截图(详细介绍请点击图片)

另外,有不少人以為過了公元2000年之後,「千年蟲」的問題就會自動消失。然而,若然沒有對編程方式作合適的修訂,問題在過了公元2000年依然會出現。以下為兩個在公元2008年曾經出現的千年蟲問題:

  • 2008年是閏年,所以這一年有2月29日。不過,有相當數量的摩托羅拉舊款手提電話在這一天由於系統無法表示這一日,系統將電話的日期強制重置為2001年1月1日。
  • 有的軟件,如在现代浏览器下现已废用的JavaScript“.getYear()”函数,利用「把4位年份減去1900」的方式來取得兩位年份的做法,而不是取年份的最後兩位,因而会出现“不正常”的结果,例如将2021年显示为“121”。

日本平成时代的结束与新千年虫 编辑

1999年年底,在全世界程序员在为千年虫问题焦虑的的时候,日本程序员却灵机一动:如果继续沿用昭和(1926年开始)年号的话,千年虫会足足延后25年(延至2025年)。如此之长的时间足够解决这次的问题了。然而日本在2019年改元为令和时,不但要更改年号,而且昭和时代年号计算的“新千年虫”(昭和100年)马上就要来临,(昭和100年問題日语昭和100年問題)。因此有程序开发人员在Twitter上抱怨难以维护这些老旧计算机代码问题。[14][15]

千年蟲騙案 编辑

在2000年之前,香港有不少騙徒宣稱有千年蟲蛀蟲藥,誘騙對千年蟲問題一知半解的民眾購買(有部分不熟悉電腦的市民以為千年蟲是一種類似瘟疫傳染病病毒),是當時典型的街頭騙案,電視節目《警訊》亦不時提醒市民慎防騙局。[16][17]

参看 编辑

参考文献 编辑

  1. ^ 2000 年的最后时刻离我们越来越近 (PDF). iaea.org. [2023-02-20]. 
  2. ^ 香港金融管理局. 香港金融管理局 - 扑灭「千年虫」. 香港金融管理局. [2023-02-20]. (原始内容于2023-03-06) (中文(中国大陆)). 
  3. ^ For Computers, the Year 2000 May Prove a Bit Traumatic. archive.nytimes.com. [2023-03-12]. (原始内容于2023-03-12). 
  4. ^ November 1998. Controlling the Y2K Bug. Pest Control Technology. [2023-02-20]. (原始内容于2023-03-06) (英语). 
  5. ^ The Y2K Computer Bug. cs.calvin.edu. [2023-02-20]. (原始内容于2023-03-06). 
  6. ^ Ch, Rajiv; rasekaran. Big Glitch at Nuclear Plant Shows Perils of Y2K Tests. Washington Post. 1999-03-07 [2023-03-19]. ISSN 0190-8286. (原始内容于2023-03-14) (美国英语). 
  7. ^ Nuclear war fear over Y2K bug. The Independent. 1999-12-19 [2023-03-19]. (原始内容于2023-05-04) (英语). 
  8. ^ U.S. and Russia Agree on Joint Defense Against Y2K Debacles. archive.nytimes.com. [2023-03-12]. (原始内容于2023-03-12). 
  9. ^ Kraig, Michael. Safe or sorry: The "Y2K problem" and nuclear weapons. Bulletin of the Atomic Scientists. 1999-03-01, 55 (2). ISSN 0096-3402. doi:10.2968/055002009. 
  10. ^ 01/01/00. Macworld. [2023-02-20]. (原始内容于2023-03-06) (英语). 
  11. ^ BBC NEWS | Science/Nature | Y2K bug fails to bite. news.bbc.co.uk. [2023-03-12]. (原始内容于2023-03-12) (英语). 
  12. ^ '00 Computer Glitches Are Mostly a No-Show. archive.nytimes.com. [2023-03-12]. (原始内容于2023-03-12) (英语). 
  13. ^ CNN - Y2K bug declared New Year's Day loser, but could make comeback Monday - January 1, 2000. edition.cnn.com. [2023-03-12]. (原始内容于2023-03-12). 
  14. ^ 明明才2019年,日本却又要面对千年虫问题?岛国程序员崩溃_网易订阅. dy.163.com. [2019-07-28]. (原始内容于2019-07-28). 
  15. ^ 为什么改元“令和”,竟然成了日本程序员的魔咒?. tech.ifeng.com. [2019-07-28]. (原始内容于2019-07-28). 
  16. ^ . web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 
  17. ^ . web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 

外部連結 编辑

2000年问题, 关于其他稱為y2k的事物, 請見, 消歧义, 此條目需要补充更多来源, 2019年7月28日, 请协助補充多方面可靠来源以改善这篇条目, 无法查证的内容可能會因為异议提出而被移除, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍, 学术, 图像, 以检查网络上是否存在该主题的更多可靠来源, 判定指引, 英語, year, 2000, problem, 在英文中也被简称为y2k, 在中國大陸及香港常被称为千年虫问题, 台湾則称千禧蟲危機, 是指由于当时的计算机程序在日期表达上的. 关于其他稱為Y2K的事物 請見 Y2K 消歧义 此條目需要补充更多来源 2019年7月28日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而被移除 致使用者 请搜索一下条目的标题 来源搜索 2000年问题 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 2000年问题 英語 Year 2000 Problem 在英文中也被简称为Y2K 在中國大陸及香港常被称为千年虫问题 1 2 台湾則称千禧蟲危機 是指由于当时的计算机程序在日期表达上的设计问题 从而导致计算机会误读在2000年后的一些日期 并进一步导致计算机出现错误所引起的计算机问题 当时的计算机程序普遍采用6位数字来存储时间 只显示四位数字后的两位数字 但这又会导致计算机系统紊乱 使其无法区分2000年与1900年 从而导致了误读问题 3 4 5 并导致计算机紊乱 2000年问题可能会威胁到那些运行在重要行业中的计算机与大量社会基础设施 甚至影响到政府部门与军队 从而导致停水 断电 银行瘫痪 最极端的情况下 它甚至可能会导致核电站发生事故 6 核武器与导弹失控 7 8 9 以及交通与通信的中断 并最终引发灾难性的后果 10 图中就是2000年问题所造成后果的一个实例 这个悬挂于南特中央理工学院的电子标志将2000年1月3日错误显示为了1900年1月3日 但最终 在2000年问题引起社会广泛重视后 它得到了足够的关注与处理 最终在规模庞大的修复行动后 它没有在新千年到来之际引起全球电脑系统的大规模瘫痪 11 12 13 目录 1 程序问题 2 问题的引申 3 问题的延续 3 1 日本平成时代的结束与新千年虫 4 千年蟲騙案 5 参看 6 参考文献 7 外部連結程序问题 编辑两千年问题始于1960年代 当时计算机内存和外部存储介质的成本很高 大多数数据处理需要借助穿孔卡片 為了節省硬體成本 葛麗絲 霍普在Harvard Mark I上以6位數字來儲存時間 即年 月 日各兩位 這個習慣被COBOL繼承下來 傳播到整個電腦程式界 当时的编程语言 如COBOL和RPG 英语 IBM RPG 使用ASCII和EBCDIC编码表示数据 如果用四位数字表示年份 就要多占用存储介质空间 使成本增加 因此为了节省存储空间 计算机系统的编程人员采用两位数字表示年份 随着计算机技术的迅猛发展 存储介质的价格逐步下降 但在计算机系统中使用两位数字来表示年份的做法却由于惯性思维而被沿袭下来 对大多数程序员来说 他们并不认为所编写的软件会持续使用很多年 具体来讲 两千年问题要解决的事项包括以下几个要点 软件在特定的日期会否出现运作错误 要留意的日期包括以下几个日子 1999年1月1日 1999年4月9日 1999年的第99日 1999年9月9日 1999年12月31日 2000年1月1日 2000年2月28日 2000年2月29日 2025年1月1日 昭和100年問題 2038年1月19日 参见2038年问题 2099年1月1日 2099年4月9日 2099年9月9日 2099年12月31日 2111年11月11日 软件会不会利用特定的日期格式来表示档案完结 或档案已删除 软件会否出现错误的日期 如 19100年 或 3000年 两千年问题是由鮑伯 貝默 英语 Bob Bemer 在1958年第一次提出的 在其后的二十年里 他用了很大的努力 希望政府 企业和国际组织 如IBM和ISO 来关注这个问题 但反响寥寥 直到2000年将要到来的时候 人们才感觉到两千年问题的紧迫性 于是社会和政府都投入了大量的人力和物力来避免发生大规模的计算机灾难 而从现在来看 这些努力也取得了相应的成果 问题的引申 编辑有些程序可能会免在2000年出现闰日而强行修改计算日期的过程 这些程序如果继续在將來的閏年使用的话 有可能会导致日期错乱 另一方面 对于其它使用其它历法的地区 如台湾的民国纪年或日本的和曆 类似问题也有可能在稍后年份出现 例如 民国100年就在2011年 如果所用的软件没有解决两位年份的问题 那其实只是将两千年问题從2000年推迟11年後再发生 对于目前在世界上广泛用作服务器软件的Unix系统来讲 由于传统的Unix系统使用32位的整型数表示日期 这个32位数字表示从1970年1月1日起至所存储日期过去了多少秒 因此在2038年日期将会被卷回 这类似于2000年问题 时间将可能重新从1970年1月1日开始计算 这将可能引起世界范围的计算机故障 这被称为2038年问题 此外仍然有一个问题 是否存在10000年问题 當然这是一个遥不可及的问题 问题的延续 编辑 nbsp 展示JavaScript getYear 函数问题的网页截图 详细介绍请点击图片 另外 有不少人以為過了公元2000年之後 千年蟲 的問題就會自動消失 然而 若然沒有對編程方式作合適的修訂 問題在過了公元2000年依然會出現 以下為兩個在公元2008年曾經出現的千年蟲問題 2008年是閏年 所以這一年有2月29日 不過 有相當數量的摩托羅拉舊款手提電話在這一天由於系統無法表示這一日 系統將電話的日期強制重置為2001年1月1日 有的軟件 如在现代浏览器下现已废用的JavaScript getYear 函数 利用 把4位年份減去1900 的方式來取得兩位年份的做法 而不是取年份的最後兩位 因而会出现 不正常 的结果 例如将2021年显示为 121 日本平成时代的结束与新千年虫 编辑 1999年年底 在全世界程序员在为千年虫问题焦虑的的时候 日本程序员却灵机一动 如果继续沿用昭和 1926年开始 年号的话 千年虫会足足延后25年 延至2025年 如此之长的时间足够解决这次的问题了 然而日本在2019年改元为令和时 不但要更改年号 而且昭和时代年号计算的 新千年虫 昭和100年 马上就要来临 昭和100年問題 日语 昭和100年問題 因此有程序开发人员在Twitter上抱怨难以维护这些老旧计算机代码问题 14 15 千年蟲騙案 编辑主条目 千年蟲騙案 在2000年之前 香港有不少騙徒宣稱有千年蟲蛀蟲藥 誘騙對千年蟲問題一知半解的民眾購買 有部分不熟悉電腦的市民以為千年蟲是一種類似瘟疫 傳染病等病毒 是當時典型的街頭騙案 電視節目 警訊 亦不時提醒市民慎防騙局 16 17 参看 编辑维基文库中相关的原始文献 千禧年資訊年序爭議處理法2038年问题 10000年问题 民國百年蟲参考文献 编辑 2000 年的最后时刻离我们越来越近 PDF iaea org 2023 02 20 香港金融管理局 香港金融管理局 扑灭 千年虫 香港金融管理局 2023 02 20 原始内容存档于2023 03 06 中文 中国大陆 For Computers the Year 2000 May Prove a Bit Traumatic archive nytimes com 2023 03 12 原始内容存档于2023 03 12 November 1998 Controlling the Y2K Bug Pest Control Technology 2023 02 20 原始内容存档于2023 03 06 英语 The Y2K Computer Bug cs calvin edu 2023 02 20 原始内容存档于2023 03 06 Ch Rajiv rasekaran Big Glitch at Nuclear Plant Shows Perils of Y2K Tests Washington Post 1999 03 07 2023 03 19 ISSN 0190 8286 原始内容存档于2023 03 14 美国英语 Nuclear war fear over Y2K bug The Independent 1999 12 19 2023 03 19 原始内容存档于2023 05 04 英语 U S and Russia Agree on Joint Defense Against Y2K Debacles archive nytimes com 2023 03 12 原始内容存档于2023 03 12 Kraig Michael Safe or sorry The Y2K problem and nuclear weapons Bulletin of the Atomic Scientists 1999 03 01 55 2 ISSN 0096 3402 doi 10 2968 055002009 01 01 00 Macworld 2023 02 20 原始内容存档于2023 03 06 英语 BBC NEWS Science Nature Y2K bug fails to bite news bbc co uk 2023 03 12 原始内容存档于2023 03 12 英语 00 Computer Glitches Are Mostly a No Show archive nytimes com 2023 03 12 原始内容存档于2023 03 12 英语 CNN Y2K bug declared New Year s Day loser but could make comeback Monday January 1 2000 edition cnn com 2023 03 12 原始内容存档于2023 03 12 明明才2019年 日本却又要面对千年虫问题 岛国程序员崩溃 网易订阅 dy 163 com 2019 07 28 原始内容存档于2019 07 28 为什么改元 令和 竟然成了日本程序员的魔咒 tech ifeng com 2019 07 28 原始内容存档于2019 07 28 福州晚報 web archive org 2016 03 05 2019 07 28 原始内容存档于2016 03 05 留心今年骗徒十大骗术 web archive org 2016 03 05 2019 07 28 原始内容存档于2016 03 05 外部連結 编辑关于 政府呼籲各界同心協力殲滅千年蟲 的海报 页面存档备份 存于互联网档案馆 千年蟲與中小企業 页面存档备份 存于互联网档案馆 鏗鏘集 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 2000年问题 amp oldid 79482915, 维基百科,wiki,书籍,书籍,图书馆,

文章

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