Y2K兼容是什么意思?

13

我正在阅读Perl编程语言的基础知识,然后看到了以下声明

Perl is Y2K compliant.

即使经过一些谷歌搜索,我仍然没有完全理解它的含义。这是一种已经建立的标准吗?如果是,那么是由谁建立的?感谢任何信息。


6
Perl不仅兼容Y2K,而且兼容Y2038。 :) - brian d foy
3
我喜欢这个问题被链接到Y2K StackOverflow示例 - mgarciaisaia
2个回答

20

对于那些在20世纪90年代后期进行编程的人来说,Y2K非常重要。字面意思:Y2K = 2000年

不符合Y2K标准的软件最明显的问题是将年份数字存储为2位数(通常是为了节省存储空间),因此将2000年等同于1900年。然而,一些软件产品由于其他原因而不符合Y2K标准,因为它们对21世纪及其后续世纪的日期计算错误。

在后一类中,我有一个正在维护的产品,我必须修复它,因为它没有将2000年识别为闰年。由于该软件在制造工厂的自动控制系统中运行,如果在2000年2月底之前没有修复,它将损坏一些昂贵的组件。

由于与Y2K标准不兼容的软件故障,一些启示录式的预测认为在2000年1月1日会发生非常糟糕的事情,因此许多人在1999年12月31日午夜屏住呼吸。事实证明,许多人声称这些预测被夸大了。据我看来,之所以很少出现问题,是因为许多程序员在20世纪90年代花费了大量时间和精力来处理Y2K问题的威胁,并且如果没有真正的担忧可能会出现非常糟糕的结果,他们不会这样做。


9
维基百科关于Y2k问题的文章Year 2000 problem解释得很好: 1997年,英国标准协会(BSI)制定了标准DISC PD2000-1,定义了“年度符合性要求”四个规则: 1.没有有效日期会导致任何操作中断。 2.计算不同世纪日期之间持续时间或顺序的正确性将是正确的。 3.在所有接口和所有存储中,世纪必须是明确的,可以通过算法指定或计算。 4.必须将2000年识别为闰年。 Perl符合Y2k意味着其内置日期处理遵循这些规则。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接