fbpx
维基百科

2000年问题

2000年问题Year 2000 Problem,簡稱Y2K),中國大陸及香港常称为千年蟲問題,台湾則称千禧蟲危機,是指由于计算机程序设计的一些问题,使得计算机在处理2000年1月1日以后的日期和时间时,可能会出现不正确的操作,从而可能导致一些敏感的工业部门(比如电力,能源)和银行,政府等部门在2000年1月1日零点工作停顿甚至是发生灾难性的结果。

2000年问题在英文中通常缩写为Y2K。其中Y表示“year”也就是年,而K则表示拉丁前缀“kilo”,表示1000。Y2K也可用來指2000年。

一般来说,由于计算机程序中使用两个数字来表示年份,如1998年被表示为“98”、1999年被表示为“99”;而2000年被表示为“00”,这样将会导致某些程序在计算时得到不正确的结果,如把“00”误解为1900年。在嵌入式系统中可能存在同样的问题,这有可能导致设备停止运转或者发生更加灾难性的后果。

由于世界上各地的政府和企业都对两千年问题给予足够关注,1999年1月1日到2000年3月1日并没有出现大范围的计算机故障。

程序问题

两千年问题始于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日
    • 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上抱怨难以维护这些老旧计算机代码问题。[1][2]

千年蟲騙案

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

参看

参考文献

  1. ^ 明明才2019年,日本却又要面对千年虫问题?岛国程序员崩溃_网易订阅. dy.163.com. [2019-07-28]. (原始内容于2019-07-28). 
  2. ^ 为什么改元“令和”,竟然成了日本程序员的魔咒?. tech.ifeng.com. [2019-07-28]. (原始内容于2019-07-28). 
  3. ^ . web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 
  4. ^ . web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 

外部連結

2000年问题, 重定向至此, 关于其他用法, 请见, 消歧义, 此條目需要补充更多来源, 2019年7月28日, 请协助補充多方面可靠来源以改善这篇条目, 无法查证的内容可能會因為异议提出而移除, 致使用者, 请搜索一下条目的标题, 来源搜索, 网页, 新闻, 书籍, 学术, 图像, 以检查网络上是否存在该主题的更多可靠来源, 判定指引, year, 2000, problem, 簡稱y2k, 中國大陸及香港常称为千年蟲問題, 台湾則称千禧蟲危機, 是指由于计算机程序设计的一些问题, 使得计算机在处理2000年1. Y2K 重定向至此 关于其他用法 请见 Y2K 消歧义 此條目需要补充更多来源 2019年7月28日 请协助補充多方面可靠来源以改善这篇条目 无法查证的内容可能會因為异议提出而移除 致使用者 请搜索一下条目的标题 来源搜索 2000年问题 网页 新闻 书籍 学术 图像 以检查网络上是否存在该主题的更多可靠来源 判定指引 2000年问题 Year 2000 Problem 簡稱Y2K 中國大陸及香港常称为千年蟲問題 台湾則称千禧蟲危機 是指由于计算机程序设计的一些问题 使得计算机在处理2000年1月1日以后的日期和时间时 可能会出现不正确的操作 从而可能导致一些敏感的工业部门 比如电力 能源 和银行 政府等部门在2000年1月1日零点工作停顿甚至是发生灾难性的结果 2000年问题在英文中通常缩写为Y2K 其中Y表示 year 也就是年 而K则表示拉丁前缀 kilo 表示1000 Y2K也可用來指2000年 一般来说 由于计算机程序中使用两个数字来表示年份 如1998年被表示为 98 1999年被表示为 99 而2000年被表示为 00 这样将会导致某些程序在计算时得到不正确的结果 如把 00 误解为1900年 在嵌入式系统中可能存在同样的问题 这有可能导致设备停止运转或者发生更加灾难性的后果 由于世界上各地的政府和企业都对两千年问题给予足够关注 1999年1月1日到2000年3月1日并没有出现大范围的计算机故障 目录 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日 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年问题 當然这是一个遥不可及的问题 问题的延续 编辑 展示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上抱怨难以维护这些老旧计算机代码问题 1 2 千年蟲騙案 编辑主条目 千年蟲騙案 在2000年之前 香港有不少騙徒宣稱有千年蟲蛀蟲藥 誘騙對千年蟲問題一知半解的民眾購買 有部分不熟悉電腦的市民以為千年蟲是一種類似瘟疫 傳染病等病毒 是當時典型的街頭騙案 電視節目 警訊 亦不時提醒市民慎防騙局 3 4 参看 编辑维基文库中相关的原始文献 千禧年資訊年序爭議處理法2038年问题 10000年问题 民國百年蟲参考文献 编辑 明明才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 75090712, 维基百科,wiki,书籍,书籍,图书馆,

文章

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