我使用以兩個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