13

我正在阅读 Perl 编程语言的基础知识,我遇到了以下语句

Perl is Y2K compliant.

即使经过一些谷歌搜索,也没有完全理解它的含义。是不是已经建立了某种标准。如果是,那么由谁?任何信息表示赞赏。

4

2 回答 2

19

对于那些在 1990 年代后期编程的人来说,Y2K 至关重要。字面意思:Y2K= Year 2000

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

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

有一些世界末日的预测,由于 Y2K 不合规导致的软件故障,2000 年 1 月 1 日将发生非常糟糕的事情,因此很多人在 1999 年 12 月 31 日午夜“屏住呼吸”。事后,许多人声称预测被夸大了。在我看来,问题很少,因为很多程序员在 1990 年代后期非常努力和长时间工作,专门处理 Y2K 问题的威胁,如果没有对潜在问题的合理担忧,他们就不会这样做。非常糟糕的结果。

于 2013-08-13T04:51:51.840 回答
9

关于 Y2k, Year 2000 问题的维基百科文章很好地解释了这一点:

1997 年,英国标准协会 (BSI) 制定了标准 DISC PD2000-1,将“2000 年符合性要求”定义为四个规则:

  • 没有有效日期将导致运营中断。
  • 无论日期是否在不同的世纪,计算日期对之间的持续时间或日期顺序都是正确的。
  • 在所有接口和所有存储中,世纪必须是明确的,要么指定,要么可以通过算法计算
  • 2000 年必须被认定为闰年

Perl 兼容 Y2k 意味着它的内置日期处理遵循这些规则。

于 2013-08-13T04:39:37.627 回答