我使用以两个Zend的日期,但是,这是非常复杂的Elzo Valugi正确上述言论之差要做到这一点。更好地使用人性化的方法。你的年龄是两个日期的年份之间的差额,如果你的出生日期已经,如果不是,则减少一年。类似的事情可以用几个月来完成。
function age($birthDate, $date)
{
$age = $date->get(Zend_Date::YEAR) - $birthDate->get(Zend_Date::YEAR);
$birthDay = clone $birthDate; // otherwise birthDate will be altered, objects are always passed by reference in PHP 5.3
$birthDay->set($date, Zend_Date::YEAR); // birthDay in the year of $date
if (1 == $BirthDay->compare($date)) {
$age = $age -1; // if birth day has not passed yet
}
return $age;
}
我怀疑,因为返回的值是可能是Zend_Date的运算的'$ months'变种永远不会多于12 ...(或11 ,如果它是0) – 2010-06-13 12:29:43