DateTime Class不支持1960年以前的年份?

时间:2016-06-11 07:38:11

标签: php datetime

我有以下情况:

$birth = new DateTime('1960');
echo $birth->diff( new DateTime() )->format('%y');

输出为56 - 没关系,但是当我设置一个参数1959或更小的值时,我得到了结果0.例如:

$birth = new DateTime('1959');
echo $birth->diff( new DateTime() )->format('%y');

输出为0.

测试环境是:

  • PHP 5.5.9-1ubuntu4.17
  • Apache / 2.4.10(Ubuntu)

谢谢!

1 个答案:

答案 0 :(得分:6)

您需要为新DateTime()的输入指定有效的DateTime。

我猜1960年本身只能被解释为一年,而1959年可能是一个时间。打印现在和19:59之间的年份差异为0。

你最好指定一个完整的日期,比如1959-01-01。