Y2K兼容是什么意思?

时间:2013-08-13 04:33:35

标签: perl y2k

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

Perl is Y2K compliant.

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

2 个答案:

答案 0 :(得分:17)

对于那些在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问题的威胁,他们不会这样做,如果有的话对可能非常糟糕的结果没有合理的担忧。

答案 1 :(得分:8)

关于Y2k的维基百科文章Year 2000 problem解释了这一点非常好:

  

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

     
      
  • 没有有效日期会导致操作中断。
  •   
  • 计算日期之间的持续时间或日期顺序将是正确的,无论任何日期是在不同的世纪。
  •   
  • 在所有界面和所有存储中,世纪必须是明确的,无论是指定的还是算法可计算的
  •   
  • 2000年必须被确认为闰年
  •   

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