我有以下情况:
$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.
测试环境是:
谢谢!
答案 0 :(得分:6)
您需要为新DateTime()的输入指定有效的DateTime。
我猜1960年本身只能被解释为一年,而1959年可能是一个时间。打印现在和19:59之间的年份差异为0。
你最好指定一个完整的日期,比如1959-01-01。