2000 年问题:修订间差异

跳转到导航 跳转到搜索
删除2字节 、​ 2025 年 11 月 2 日 (星期日)
第 14 行: 第 14 行:
六位数日期表示法虽然的确在节省存储空间上发挥了作用,但是这种模糊的表示方法也为未来埋下了隐患。人们在日常生活中为了方便有时也会只用两位数简称年份,但是计算机和人类的区别在于,人类拥有理解并补全前两位年份数字的能力,但是计算机没有这种能力。它们只会读取实际写出来的后两位年份,不会,也无法自行变更没有实际写出来的前两位年份数字。在六位数日期下,2000 年 1 月 1 日表示为 {{code|01/01/00}},然而由于前两位没有实际写出来,自然也就无法自动变更。计算机始终会在这种情况下默认年份前两位为 19,这样会导致计算机将 2000 年错误认为是 1900 年,认为这个时候要早于 1999 年。这会引发计算机在涉及这部分的任务执行时出错,甚至崩溃。如果不对此问题进行修复,类似的故障将会在 2000 年到来时全球爆发,所有依赖这些老旧的计算机运作的基础设施、军政机关都会受到影响,导致轻则停电停水,重则医疗瘫痪,甚至导弹误射等一系列灾难性后果。
六位数日期表示法虽然的确在节省存储空间上发挥了作用,但是这种模糊的表示方法也为未来埋下了隐患。人们在日常生活中为了方便有时也会只用两位数简称年份,但是计算机和人类的区别在于,人类拥有理解并补全前两位年份数字的能力,但是计算机没有这种能力。它们只会读取实际写出来的后两位年份,不会,也无法自行变更没有实际写出来的前两位年份数字。在六位数日期下,2000 年 1 月 1 日表示为 {{code|01/01/00}},然而由于前两位没有实际写出来,自然也就无法自动变更。计算机始终会在这种情况下默认年份前两位为 19,这样会导致计算机将 2000 年错误认为是 1900 年,认为这个时候要早于 1999 年。这会引发计算机在涉及这部分的任务执行时出错,甚至崩溃。如果不对此问题进行修复,类似的故障将会在 2000 年到来时全球爆发,所有依赖这些老旧的计算机运作的基础设施、军政机关都会受到影响,导致轻则停电停水,重则医疗瘫痪,甚至导弹误射等一系列灾难性后果。


=== 问题表现 ===
== 问题表现 ==
2000 年问题是由于程序设计缺陷产生的问题。最为显著的表现是,如前所述,在六位数日期下,2000 年 1 月 1 日将会被自动转换为 {{code|01/01/00}}。然而,由于前两位年份并没有被实际写出来,自然也就无法进行变更,计算机就会继续将年份的前两位默认为 {{code|19}}。如此一来,计算机就会错误的将 2000 年误认为是 1900 年,认为被缩写为 {{code|00}} 的 2000 年要早于被缩写为 {{code|99}} 的 1999 年。
2000 年问题是由于程序设计缺陷产生的问题。最为显著的表现是,如前所述,在六位数日期下,2000 年 1 月 1 日将会被自动转换为 {{code|01/01/00}}。然而,由于前两位年份并没有被实际写出来,自然也就无法进行变更,计算机就会继续将年份的前两位默认为 {{code|19}}。如此一来,计算机就会错误的将 2000 年误认为是 1900 年,认为被缩写为 {{code|00}} 的 2000 年要早于被缩写为 {{code|99}} 的 1999 年。


导航菜单