扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
原来年是用2为数字表示如98然后99 再过一年就变成00了这就是千年虫问题 把年改成用四位数字表示如1998 过两年变成2000就不会出现这种错误了
创新互联自2013年起,先为襄州等服务建站,襄州等地企业,进行企业商务咨询服务。为襄州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
以前为了节约,时间只用2位表示“年”如1998年就表示成'98.这样问题就出来了,到了2000年,机器上出现的时间就是'00年,而电脑不能识别这个是公元1900年还是公元2000年,所以就出现了所谓的“千年虫问题”。
解决的办法是:用4位表示“年”,也就是公元1998年就用1998来表示,这样就解决了~~
世界上千年虫问题其实不是在在2000年之前一下子解决的,在80年代,也就是1980年,就已经开始一点一点的解决问题了,但是到最后依然是没有替换干净,就产生了后续的影响。
千年虫不是病毒,其实就是一个bug,千年虫是一种程序处理日期上的bug,也就是计算机程序故障,而非病毒。
“千年虫”影响是巨大的。从计算机系统包括PC机的BIOS、微码到操作系统、数据库软件、商用软件和应用系统等,到与计算机和自动控制有关的电话程控交换机、银行自动取款机 、保安系统、工厂自动化系统等。
乃至使用了嵌入式芯片技术的大量的电子电器、机械设备 和控制系统,等等,都有可能受到“千年虫”的攻击。世界各国已纷纷由政府出面,全力围歼“千年虫”。
解决的办法是:用4位表示“年”,也就是公元1998年就用1998来表示。
千年虫:
计算机2000年问题,又叫做“千年虫”、“电脑千禧年千年虫问题”或“千年危机”。缩写为“Y2K”。是指在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运
算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功能紊乱甚至崩溃。因此从根本上说千年虫是一种程序处理日期上的BUG,而非病毒。
解决的办法是:用4位表示“年”,也就是公元1998年就用1998来表示,这样就解决了~~
Millennium Bug
计算机2000年问题,又叫做"2000年病毒"、"千年虫"、"电脑千禧年问题"或"千年病毒".是指在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由 于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运 算时(如多个日期之间的计算或比较等),就会出现错误的结果,进而引发各种各样的系统功 能紊乱甚至崩溃。另外,更广泛地讲,“千年虫”还包括以下两个方面的问题:一个是在一 些计算机系统中,对于闰年的计算和识别出现问题,不能把2000年识别为闰年,即在该计算 机系统的日历中没有2000年2月29日这一天,而是直接由2000年2月28日过渡到了2000年3月1 日;另一个是在一些比较老的计算机系统中,在程序中使用了数字串99(或99/99等)来表示 文件结束、永久性过期、删除等一些特殊意义的自动操作,这样当1999年9月9日(或1999年4 月9日即1999年的第99天)来临时,计算机系统在处理到内容中有日期的文件时,就会遇到99 或99/99等数字串,从而将文件误认为已经过期或者将文件删除等错误操作,引发系统混乱 甚至崩溃等故障。
“千年虫”问题的根源始于60年代。当时计算机存储器的成本很高,如果用四位数字表示年 份,就要多占用存储器空间,就会使成本增加,因此为了节省存储空间,计算机系统的编程 人员采用两位数字表示年份。随着计算机技术的迅猛发展,虽然后来存储器的价格降低了, 但在计算机系统中使用两位数字来表示年份的做法却由于思维上的惯性势力而被沿袭下来, 年复一年,直到新世纪即将来临之际,大家才突然意识到用两位数字表示年份将无法正确辨 识公元2000年及其以后的年份。1997年,信息界开始拉起了“千年虫”警钟,并很快引起了 全球关注。
“千年虫”影响是巨大的。从计算机系统包括PC机的BIOS、微码到操作系统、数据库软件 、商用软件和应用系统等,到与计算机和自动控制有关的电话程控交换机、银行自动取款机 、保安系统、工厂自动化系统等,乃至使用了嵌入式芯片技术的大量的电子电器、机械设备 和控制系统,等等,都有可能受到“千年虫”的攻击。目前世界各国已纷纷由政府出面,全 力围歼“千年虫”。
参考资料:
在设计计算机的程序时规定了的年份仅用两位数来表示,那么无论遇到是哪一个世纪的,计算机都会老老实实地取年份中的后两位来表示其年份,决不会采取四位数来表示年份的。也就是说,假如是1971年,在计算机里就会被表示为“71”,而假如是2002年,计算机就会将其年份表示为“02”。这样的话假如要计算相差多大,计算机要用02减去71了。这就是千年虫(计算机2000年问题)。
计算机千年虫(2000年问题)的定义:
2000年问题,就是指在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运算(如多个日期之间的计算或比较等)时,就会出现错误的结果,进而引发各种各样的系统功能紊乱甚至崩溃。
另外,更广泛的讲,2000年问题还包括其他两个方面的问题:
一个是在一些计算机系统中 ,对于闰年的计算和识别出现问题,不能把2000年识别为闰年,即在该计算机系统的日历中没有2000年2月29日这一天,而是直接由2000年2月28日过渡到了2000年3月1日;
另外一个是在一些比较老的计算机系统中,使用了数字串99(或99/99等)在程序中来表示文件结束、永久性过期、删除等一些特殊意义的自动操作,这样当1999年9月9日(或1999年4月9日即1999年的第99天)来临时,计算机系统在处理到内容中有日期的文件时,就会遇到99或99/99等数字串,从而将文件误认为已经过期或者将文件删除等错误操作,引发系统混乱甚至崩溃等故障。这个问题有的时候也被称为“9999虫”。
2000年问题(英文为 Year 2000 Problem)在国际上有各种各样的叫法,比较通俗的一种就是“千年虫”,英文为Millennium Bug,其中 Millennium 是“一千年”的意思。而Bug在汉语中是“臭虫”,它是美国常用俗语,在计算机界表示那些程序开发中没有注意到的漏洞和毛病。2000年问题就是当初设计程序时没有注意到的一个毛病,它在2000年来临时才发作,所以我们把他叫做“千年虫”(Millennium Bug)。另外,国外经常把一千(KILO-)简写为K,所以2000年问题(Year 2000 )国际上也简称为Y2K,其中Y是英语单词Year的简写,2K是2000的简写。
同时,从上面的第三个问题中,我们已经看出,假如只用两位数来表示年份的话,当我们在进行不同世纪里的两个年份之间的计算时,我们会得出多么错误的结果。而对于这个结果,我们目前仅仅感觉到的是它的错误可笑,但当这样的错误一旦发生到关键部门的话,其带来的后果又是不可想象的。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流