Y2K兼容是什么意思?

Ani*_*kur 14 perl y2k

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

Perl is Y2K compliant.
Run Code Online (Sandbox Code Playgroud)

即使经过一些谷歌搜索,也没有完全明白这意味着什么.是否建立了某种标准.如果是,那么由谁?任何信息表示赞赏.

Sim*_*mon 19

对于那些在20世纪90年代末编程的人来说,Y2K至关重要.字面意思:Y2K= Year 2000.

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

在后一类中,我有一个我必须修复的产品,因为它不承认2000年是闰年.由于该软件在制造工厂中运行自动控制系统,如果在2000年2月底之前尚未修复,则会损坏一些昂贵的部件.

有一些世界末日的预测表明,由于Y2K违规造成的软件故障导致2000年1月1日发生非常糟糕的事情,并且很多人因为这个原因于1999年12月31日午夜"屏住呼吸".事实上,许多人声称这些预测被夸大了.在我看来,问题很少,因为很多程序员在20世纪90年代后期非常努力和长时间工作,专门处理Y2K问题的威胁,如果没有合理的潜在顾虑,他们就不会这样做非常糟糕的结果.


And*_*ahl 9

关于Y2k,2000年问题的维基百科文章解释了这一点非常好:

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

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

符合Y2k标准的Perl意味着其内置日期处理遵循这些规则.