Nothing Special   »   [go: up one dir, main page]

跳转到内容

2000年问题:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
无编辑摘要
Lon kun Un留言 | 贡献
无编辑摘要
 
(未显示34个用户的48个中间版本)
第1行: 第1行:
{{otheruses|other=其他稱為Y2K的事物|Y2K (消歧义)}}
{{refimprove|time=2019-07-28T04:03:32+00:00}}
{{noteTA
{{noteTA
|G1=IT
|G1=IT
}}
}}
'''2000年问题'''({{lang-en|Year 2000 Problem}}),在英文中也被简称为'''Y2K''',在[[中国大陆|中國大陸]]及[[香港]]常被称为'''-{zh-hans:千年虫;zh-hant:千年蟲;}-问题'''<ref>{{Cite web|title=2000 年的最后时刻离我们越来越近|url=https://www.iaea.org/sites/default/files/41210080811_ch.pdf&ved=2ahUKEwixwIG1o6T9AhURMjQIHWq5D9wQFnoECD8QAQ&usg=AOvVaw18vkxDWKsfzT2goqd1_23L|access-date=2023-02-20|website=iaea.org}}</ref><ref>{{Cite web|last=香港金融管理局|title=香港金融管理局 - 扑灭「千年虫」|url=https://www.hkma.gov.hk/gb_chi/news-and-media/insight/2000/01/20000106/|access-date=2023-02-20|website=香港金融管理局|language=zh-cn|archive-date=2023-03-06|archive-url=https://web.archive.org/web/20230306214141/https://www.hkma.gov.hk/gb_chi/news-and-media/insight/2000/01/20000106/|dead-url=no}}</ref>,台湾則称'''-{千禧蟲}-危機'''<ref>[https://www.cna.com.tw/news/ahel/202312295006.aspx 開箱老照片》20世紀最後一天 各界嚴陣以待千禧蟲危機] {{Wayback|url=https://www.cna.com.tw/news/ahel/202312295006.aspx |date=20240416190712 }},中央社</ref>,是指由于当时的[[计算机程序]]在日期表达上的设计问题,从而导致[[计算机]]会误读在[[2000年]]后的一些日期,并进一步导致计算机出现错误所引起的计算机问题,当时的计算机程序普遍采用6位数字来存储时间,只显示四位数字后的两位数字,但这又会导致计算机系统紊乱,使其无法区分2000年与[[1900年]],从而导致了误读问题<ref>{{Cite web|title=For Computers, the Year 2000 May Prove a Bit Traumatic|url=https://archive.nytimes.com/www.nytimes.com/library/tech/99/12/biztech/articles/1988year.html|access-date=2023-03-12|website=archive.nytimes.com|archive-date=2023-03-12|archive-url=https://web.archive.org/web/20230312093549/https://archive.nytimes.com/www.nytimes.com/library/tech/99/12/biztech/articles/1988year.html|dead-url=no}}</ref><ref>{{Cite web|last=November 1998|title=Controlling the Y2K Bug|url=https://www.pctonline.com/article/controlling-the-y2k-bug/|access-date=2023-02-20|website=Pest Control Technology|language=en|archive-date=2023-03-06|archive-url=https://web.archive.org/web/20230306214140/https://www.pctonline.com/article/controlling-the-y2k-bug/|dead-url=no}}</ref><ref>{{Cite web|title=The Y2K Computer Bug|url=https://cs.calvin.edu/activities/books/rit/chapter7/y2k.htm|access-date=2023-02-20|website=cs.calvin.edu|archive-date=2023-03-06|archive-url=https://web.archive.org/web/20230306215039/https://cs.calvin.edu/activities/books/rit/chapter7/y2k.htm|dead-url=no}}</ref>,并导致计算机紊乱。2000年问题可能会威胁到那些运行在重要行业中的计算机与大量社会基础设施,甚至影响到政府部门与军队。从而导致停水、断电,银行瘫痪,最极端的情况下,它甚至可能会导致[[核电厂|核電廠]]发生事故<ref>{{Cite news|title=Big Glitch at Nuclear Plant Shows Perils of Y2K Tests|url=https://www.washingtonpost.com/archive/politics/1999/03/07/big-glitch-at-nuclear-plant-shows-perils-of-y2k-tests/a148232f-5760-403c-bc14-b00382b6852d/|newspaper=Washington Post|date=1999-03-07|accessdate=2023-03-19|issn=0190-8286|language=en-US|first=Rajiv|last=Ch|last2=rasekaran|archive-date=2023-03-14|archive-url=https://web.archive.org/web/20230314172027/https://www.washingtonpost.com/archive/politics/1999/03/07/big-glitch-at-nuclear-plant-shows-perils-of-y2k-tests/a148232f-5760-403c-bc14-b00382b6852d/|dead-url=no}}</ref>,[[核武器]]与[[导弹]]失控<ref>{{Cite web|date=1999-12-19|title=Nuclear war fear over Y2K bug|url=https://www.independent.co.uk/news/science/nuclear-war-fear-over-y2k-bug-738725.html|access-date=2023-03-19|website=The Independent|language=en|archive-date=2023-05-04|archive-url=https://web.archive.org/web/20230504023742/https://www.independent.co.uk/news/science/nuclear-war-fear-over-y2k-bug-738725.html|dead-url=no}}</ref><ref>{{Cite web|title=U.S. and Russia Agree on Joint Defense Against Y2K Debacles|url=https://archive.nytimes.com/www.nytimes.com/library/tech/99/10/biztech/articles/28y2k-russia.html|access-date=2023-03-12|website=archive.nytimes.com|archive-date=2023-03-12|archive-url=https://web.archive.org/web/20230312093549/https://archive.nytimes.com/www.nytimes.com/library/tech/99/10/biztech/articles/28y2k-russia.html|dead-url=no}}</ref><ref>{{Cite journal |last=Kraig |first=Michael |date=1999-03-01 |title=Safe or sorry: The "Y2K problem" and nuclear weapons |url=http://thebulletin.metapress.com/openurl.asp?genre=article&id=doi:10.2968/055002009 |journal=Bulletin of the Atomic Scientists |volume=55 |issue=2 |doi=10.2968/055002009 |issn=0096-3402}}</ref>以及交通与通信的中断,并最终引发灾难性的后果<ref>{{Cite web|title=01/01/00|url=https://www.macworld.com/article/159388/y2k.html|access-date=2023-02-20|website=Macworld|language=en|archive-date=2023-03-06|archive-url=https://web.archive.org/web/20230306214141/https://www.macworld.com/article/159388/y2k.html|dead-url=no}}</ref>。
{{Refimprove |time=2008-06-11T02:08:42+00:00 }}
{{redirect|Y2K}}


[[File:Bug de l'an 2000.jpg|thumb|图中就是2000年问题所造成后果的一个实例,这个悬挂于[[南特中央理工学院]]的电子标志将2000年1月3日错误显示为了1900年1月3日。]]
的计算机理解的时间;第四行是实际的时间]]
{{Day Countdown
|name=2038年问题
|address=大部份的32位操作系统
|year=2000
|month=12
|day=31
|utc_offset=+0 hours
|on_day_text=
|over_day_text=
}}


但最终,在2000年问题引起社会广泛重视后,它得到了足够的关注与处理,最终在规模庞大的修复行动后,它没有在新千年到来之际引起全球電腦系统的大规模瘫痪<ref>{{Cite web|title=BBC NEWS {{!}} Science/Nature {{!}} Y2K bug fails to bite|url=http://news.bbc.co.uk/2/hi/science/nature/585013.stm|archive-url=https://web.archive.org/web/20230312092454/http://news.bbc.co.uk/2/hi/science/nature/585013.stm|archive-date=2023-03-12|access-date=2023-03-12|website=news.bbc.co.uk|language=en|dead-url=no}}</ref><ref>{{Cite web|title='00 Computer Glitches Are Mostly a No-Show|url=https://archive.nytimes.com/www.nytimes.com/library/tech/00/01/biztech/articles/01year.html|access-date=2023-03-12|website=archive.nytimes.com|language=en|archive-date=2023-03-12|archive-url=https://web.archive.org/web/20230312093613/https://archive.nytimes.com/www.nytimes.com/library/tech/00/01/biztech/articles/01year.html|dead-url=no}}</ref><ref>{{Cite web|title=CNN - Y2K bug declared New Year's Day loser, but could make comeback Monday - January 1, 2000|url=http://edition.cnn.com/2000/US/01/01/y2k.wrap/|url-status=live|archive-url=https://web.archive.org/web/20230312093115/http://edition.cnn.com/2000/US/01/01/y2k.wrap/|archive-date=2023-03-12|access-date=2023-03-12|website=edition.cnn.com}}</ref>。
'''2000年问题'''({{lang|en|Year 2000 Problem}},简称{{lang|en|Y2K}}),中國大陸及香港常称为'''千年蟲問題''',台湾則称'''千禧蟲危機''',是指由于[[计算机程序]]设计的一些问题,使得[[计算机]]在处理2000年1月1日以后的日期和时间时,可能会出现不正确的操作,从而可能导致一些敏感的工业部门(比如电力,能源)和银行,政府等部门在2000年1月1日零点工作停顿甚至是发生灾难性的结果。


== 程序问题 ==
2000年问题在英文中通常缩写为Y2K。其中Y表示“year”也就是年,而K则表示拉丁前缀“kilo”,表示1000。Y2K也可用來指2000年。
两千年问题始于[[1960年代]],当时计算机[[内存]]和外部[[儲存裝置|存储介质]]的成本很高,大多数数据处理需要借助[[穿孔卡片]]。為了節省硬體成本,[[葛麗絲·霍普]]在[[Harvard Mark I]]上以6位數字來儲存時間,即年、月、日各兩位。這個習慣被[[COBOL]]繼承下來,傳播到整個電腦程式界。


当时的[[编程语言]],如COBOL和{{tsl|en|IBM RPG|报表程序生成器|RPG}},使用[[ASCII]]和[[EBCDIC]]编码表示数据。如果用四位数字表示年份,就要多占用存储介质空间,使成本增加;因此为了节省存储空间,计算机系统的编程人员采用两位数字表示年份。随着计算机技术的迅猛发展,存储介质的价格逐步下降,但在计算机系统中使用两位数字来表示年份的做法却由于惯性思维而被沿袭下来;对大多数程序员来,他们并不认为所编写的软件会持续使用很多年。
一般来说,由于计算机程序中使用两个数字来表示年份,如1998年被表示为“98”、1999年被表示为“99”;而2000年被表示为“00”,这样将会导致某些程序在计算时得到不正确的结果,如把“00”误解为1900年。在[[嵌入式系统]]中可能存在同样的问题,这有可能导致设备停止运转或者发生更加灾难性的后果。


但是正是因為這樣 , 導致了千年蟲問題 。
由于世界上各地的政府和企业都对两千年问题给予足够关注,1999年1月1日到2000年3月1日并没有出现大范围的计算机故障。

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

当时的[[编程语言]],如COBOL和{{tsl|en|IBM RPG|报表程序生成器|RPG}},使用[[ASCII]]和[[EBCDIC]]编码表示数据。如果用四位数字表示年份,就要多占用空间,使成本增加;因此为了节省存储空间,计算机系统的编程人员采用两位数字表示年份。随着计算机技术的迅猛发展,虽然后来存储的价格降低了,但在计算机系统中使用两位数字来表示年份的做法却由于思维上的惯性势力而被沿袭下来;对大多数程序员来,他们并不认为所编写的软件会持续使用很多年。


具体来讲,两千年问题要解决的事项包括以下几个要点:
具体来讲,两千年问题要解决的事项包括以下几个要点:
第39行: 第26行:
** 2000年2月28日
** 2000年2月28日
** 2000年2月29日
** 2000年2月29日
** 2038年1月1日
** 2025年1月1日(昭和100年問題)
** 2038年1月19日(参见[[2038年问题]])
** 2099年1月1日
** 2099年1月1日
** 2099年4月9日
** 2099年4月9日
第48行: 第36行:
* 软件会否出现错误的日期,如“19100年”或“3000年”。
* 软件会否出现错误的日期,如“19100年”或“3000年”。


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


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


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


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


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


== 問題的延 ==
== 问题的延 ==
[[File:JavaScript getYear Method Problem.png|thumb|展示[[JavaScript]]“.getYear()”函数问题的网页截图(详细介绍请点击图片)]]
[[File:JavaScript getYear Method Problem.png|thumb|展示[[JavaScript]]“.getYear()”函数问题的网页截图(详细介绍请点击图片)]]
另外,有不少人以為過了公元2000年之後,「千年蟲」的問題就會自動消失。然而,若然沒有對編程方式作合適的修訂,問題在過了公元2000年依然會出現。以下為兩個在公元2008年曾經出現的千年蟲問題:
另外,有不少人以為過了公元2000年之後,「千年蟲」的問題就會自動消失。然而,若然沒有對編程方式作合適的修訂,問題在過了公元2000年依然會出現。以下為兩個在公元2008年曾經出現的千年蟲問題:
* 2008年是閏年,所以這一年有2月29日。不過,有相當數量的[[摩托羅拉]]舊款手提電話在這一天由於系統無法表示這一日,系統將電話的日期強制重置為2001年1月1日。
* 2008年是閏年,所以這一年有2月29日。不過,有相當數量的[[摩托羅拉]]舊款手提電話在這一天由於系統無法表示這一日,系統將電話的日期強制重置為2001年1月1日。
* 有的軟件,如在现代[[网页浏览器|浏览器]]下现已废用的[[JavaScript]]“.getYear()”函数,利用「把4位年份減去1900」的方式來取得兩位年份的做法,而不是取年份的最後兩位,因而会出现“不正常”的结果,例如将2007年显示为“107”
* 有的軟件,如在现代[[网页浏览器|浏览器]]下现已废用的[[JavaScript]]“.getYear()”函数,利用「把4位年份減去1900」的方式來取得兩位年份的做法,而不是取年份的最後兩位,因而会出现“不正常”的结果,例如将2021年显示为“121”
===日本平成时代的结束与新千年虫===
1999年年底,在全世界程序员在为千年虫问题焦虑的的时候,日本程序员却灵机一动:如果继续沿用[[昭和]](1926年开始)年号的话,千年虫会足足延后25年(延至2025年)。如此之长的时间足够解决这次的问题了。然而日本在2019年改元为[[令和]]时,不但要更改年号,而且昭和时代年号计算的“新千年虫”(昭和100年)马上就要来临({{tsl|ja|昭和100年問題}})。因此有程序开发人员在Twitter上抱怨难以维护这些老旧计算机代码问题。<ref>{{Cite web|title=明明才2019年,日本却又要面对千年虫问题?岛国程序员崩溃_网易订阅|url=http://dy.163.com/v2/article/detail/EC7UQ7TG05313F6C.html|accessdate=2019-07-28|work=dy.163.com|archive-date=2019-07-28|archive-url=https://web.archive.org/web/20190728041836/http://dy.163.com/v2/article/detail/EC7UQ7TG05313F6C.html|dead-url=no}}</ref><ref>{{Cite web|title=为什么改元“令和”,竟然成了日本程序员的魔咒?|url=https://tech.ifeng.com/c/7mMvXe6e4T0|accessdate=2019-07-28|work=tech.ifeng.com|archive-date=2019-07-28|archive-url=https://web.archive.org/web/20190728040330/https://tech.ifeng.com/c/7mMvXe6e4T0|dead-url=no}}</ref>


== 千年蟲騙案 ==
== 千年蟲騙案 ==
{{main|千年蟲騙案}}
{{main|千年蟲騙案}}
在2000年之前,[[香港]]有不少騙徒宣稱有千年蟲蟲藥,誘騙對千年蟲問題一知半解的民眾購買(有部分不熟悉電腦的市民以為千年蟲是一種類似[[瘟疫]]、[[傳染病]]等[[病毒]]),是當時典型的街頭騙案,電視節目《[[警訊]]》亦不時提醒市民慎防騙局。
在2000年之前,[[香港]]有不少騙徒宣稱有千年蟲蟲藥,誘騙對千年蟲問題一知半解的民眾購買(有部分不熟悉電腦的市民以為千年蟲是一種類似[[瘟疫]]、[[傳染病]]等[[病毒]]),是當時典型的街頭騙案,電視節目《[[警訊]]》亦不時提醒市民慎防騙局。<ref>{{Cite web|title=福州晚報|url=http://www.66163.com/fujian_w/news/fzwb/990429t/6-3.htm|accessdate=2019-07-28|date=2016-03-05|work=web.archive.org|archive-date=2016-03-05|archive-url=https://web.archive.org/web/20160305024015/http://www.66163.com/fujian_w/news/fzwb/990429t/6-3.htm|dead-url=unfit}}</ref><ref>{{Cite web|title=留心今年骗徒十大骗术|url=http://yunfu.gov.cn/govmach/gaj/atts/2386-1618.htm|accessdate=2019-07-28|date=2016-03-05|work=web.archive.org|archive-date=2016-03-05|archive-url=https://web.archive.org/web/20160305165131/http://yunfu.gov.cn/govmach/gaj/atts/2386-1618.htm|dead-url=unfit}}</ref>


== 参看 ==
== 参看 ==
第74行: 第64行:
* [[10000年问题]]
* [[10000年问题]]
* [[民國百年蟲]]
* [[民國百年蟲]]

== 参考文献 ==
<references />


== 外部連結 ==
== 外部連結 ==
* [http://www.info.gov.hk/gia/general/199901/21/0121163.htm 政府呼籲各界同心協力殲滅千年蟲]
* [https://www.grs.gov.hk/sc/online_holdings_digitised_holdings.html?date=2-2018 关于“政府呼籲各界同心協力殲滅千年蟲”的海报]{{Wayback|url=https://www.grs.gov.hk/sc/online_holdings_digitised_holdings.html?date=2-2018 |date=20181117063242 }}
* [http://info.hktdc.com/sme/chinese/issue6/2000bug.htm 千年蟲與中小企業]
* [http://info.hktdc.com/sme/chinese/issue6/2000bug.htm 千年蟲與中小企業]{{Wayback|url=http://info.hktdc.com/sme/chinese/issue6/2000bug.htm |date=20131019020926 }}
* [http://www.rthk.org.hk/special/hkconnection/history/hlist_C26_1.html 鏗鏘集]
* [http://www.rthk.org.hk/special/hkconnection/history/hlist_C26_1.html 鏗鏘集]{{Wayback|url=http://www.rthk.org.hk/special/hkconnection/history/hlist_C26_1.html |date=20080616020237 }}
{{年問題}}


[[Category:2000年|Problem]]
[[Category:曆法]]
[[Category:COBOL]]
[[Category:世界末日场景]]
[[Category:技术危害]]
[[Category:程式錯誤]]
[[Category:程式錯誤]]
[[Category:时间格式化和存储错误|Year 02000 problem]]
[[分類:2000年]]
[[Category:第三个千年之交]]

2024年9月21日 (六) 12:53的最新版本

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

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

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

程序问题

[编辑]

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

千年蟲騙案

[编辑]

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

参看

[编辑]

参考文献

[编辑]
  1. ^ 2000 年的最后时刻离我们越来越近 (PDF). iaea.org. [2023-02-20]. 
  2. ^ 香港金融管理局. 香港金融管理局 - 扑灭「千年虫」. 香港金融管理局. [2023-02-20]. (原始内容存档于2023-03-06) (中文(中国大陆)). 
  3. ^ 開箱老照片》20世紀最後一天 各界嚴陣以待千禧蟲危機页面存档备份,存于互联网档案馆),中央社
  4. ^ For Computers, the Year 2000 May Prove a Bit Traumatic. archive.nytimes.com. [2023-03-12]. (原始内容存档于2023-03-12). 
  5. ^ November 1998. Controlling the Y2K Bug. Pest Control Technology. [2023-02-20]. (原始内容存档于2023-03-06) (英语). 
  6. ^ The Y2K Computer Bug. cs.calvin.edu. [2023-02-20]. (原始内容存档于2023-03-06). 
  7. ^ 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) (美国英语). 
  8. ^ Nuclear war fear over Y2K bug. The Independent. 1999-12-19 [2023-03-19]. (原始内容存档于2023-05-04) (英语). 
  9. ^ U.S. and Russia Agree on Joint Defense Against Y2K Debacles. archive.nytimes.com. [2023-03-12]. (原始内容存档于2023-03-12). 
  10. ^ 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. 
  11. ^ 01/01/00. Macworld. [2023-02-20]. (原始内容存档于2023-03-06) (英语). 
  12. ^ BBC NEWS | Science/Nature | Y2K bug fails to bite. news.bbc.co.uk. [2023-03-12]. (原始内容存档于2023-03-12) (英语). 
  13. ^ '00 Computer Glitches Are Mostly a No-Show. archive.nytimes.com. [2023-03-12]. (原始内容存档于2023-03-12) (英语). 
  14. ^ 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). 
  15. ^ 明明才2019年,日本却又要面对千年虫问题?岛国程序员崩溃_网易订阅. dy.163.com. [2019-07-28]. (原始内容存档于2019-07-28). 
  16. ^ 为什么改元“令和”,竟然成了日本程序员的魔咒?. tech.ifeng.com. [2019-07-28]. (原始内容存档于2019-07-28). 
  17. ^ 福州晚報. web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 
  18. ^ 留心今年骗徒十大骗术. web.archive.org. 2016-03-05 [2019-07-28]. 原始内容存档于2016-03-05. 

外部連結

[编辑]