主页 » 正文

“千年虫”是指什么?

十九科技网 2025-07-01 03:56:30 205 °C

一、“千年虫”是指什么?

“千年虫”是程序中的一个结构性缺陷。对于一个系统来说

,只要是有程序使用到了日期就有可能因为两位数的年份表示方

式导致这种缺陷。而日期作为我们日常生活中应用最广泛的概念

之一,大量存在于计算机系统各个层面和功能的程序中,从硬件

中的BIOS(微码)到操作系统、商用软件再到应用系统、历

史文件和数据等各个环节的程序中,都要处理和使用日期数据,

也都有受到千年虫影响的可能性;另一方面,在与计算机自动控

制有关的电话程控交换机、保安、工厂自动化等系统,以及使用

了嵌入式芯片技术的大量电子电器设备中,如果存在进行日期处

理的程序,而其中又恰恰使用了两位数来表示年份,也等于是产

生了“千年虫”缺陷。同时,正因为影响范围非常广泛,千年虫

的隐蔽性也是很突出的一个问题。存在广泛、隐蔽性强是千年虫

的一个最大特点,也是最令人头疼的一个问题。从这一点上来说

,越是信息化程度高的国家或部门受到千年虫的影响会越大。特

点二:危害严重

如果一个系统中发挥关键功能的程序存在“千年虫”缺陷,

那么千年虫发作造成的错误结果是致命的,除肯定会招来损失,

而且往往会有严重的后果。特点三:工程浩繁

除虫工作技术上简单,但工作繁杂、工程量大,需要良好的

工程管理解决千年虫的技术和方法都很简单,这是大家的共识。

但千年虫可能存在于系统任何一个部分的程序中,必须确保找出

影响系统正常工作的每一处缺陷并及时修正,才能让系统顺利过

关,这也造成了巨大而且浩繁的工作量。尤其对于那些开发和应

用时间都非常久远、规模庞大的应用系统程序来说,真是一件令

人望而生畏的工作。比如AT&T公司的报告称该公司就有近1

·6亿行的源程序需要进行清查判断是否存在千年虫。繁杂、巨

大的工作量还造成了工程管理和协调上的困难,如果没有良好的

项目管理,又会反过来影响工程的顺利进展,导致一些其他的麻

烦,使情况变得更加糟糕。

值得一提的是,对于国内来说,由于应用程序的规模、数量

以及应用时间同国外比还有很大的差距,反而使得国内的除虫工

作量要小得多,困难也减轻了不少。说真的,真不知道这应该是

高兴还是悲哀。

特点四:时间紧迫

现在离2000年的时间已经不多了,但千年虫又有着不可

改变的时间期限,所有工作必须在1999年12月31日甚至

更早的时间以前完成,无法推迟,这一点对于很多习惯于做能拖

延的工作的人来说,无疑是很头疼的事。

二、如何获取系统时间呢,VB的??

now() 就可以获取当前的时间。

可以使用 print now() 进行测试。输出当前时间。

想用文本保存。

那就:

open app.path & \time.txt for output as #1

print #1,now()

close

三、什么软件可以查看照片的拍摄时间

查微信照片时间APP

四、几种数据库获取系统的时间

Oracle:系统时间比较熟悉 是select sysdate from dual时间类型获取;select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;以字符串形式获取db2:SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1获取系统时间还有select CURRENT DATE from SYSIBM.SYSDUMMY1;获得日期select CURRENT TIME from SYSIBM.SYSDUMMY1;获得时间SQL Server:使用GETDATE()SQL Server拥有非常强大的日期函数:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2008 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/08Select CONVERT(varchar(100), GETDATE(), 2): 08.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/08Select CONVERT(varchar(100), GETDATE(), 4): 16.05.08Select CONVERT(varchar(100), GETDATE(), 5): 16-05-08Select CONVERT(varchar(100), GETDATE(), 6): 16 05 08Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 08Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2008 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-08Select CONVERT(varchar(100), GETDATE(), 11): 08/05/16Select CONVERT(varchar(100), GETDATE(), 12): 080516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2008 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/08 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2008 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2008Select CONVERT(varchar(100), GETDATE(), 102): 2008.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2008Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2008Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2008Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2008Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2008Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 200810:57:49:437AM ......MYSQL:select now();输出09-12-25

版权声明:部分内容由互联网用户自发贡献,如有侵权/违规,请联系删除
本平台仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

本文链接地址:/dsj/215028.html

相关文章