# Execute a função passando como parâmetro # o valor do campo datetime do MySQL ou Oracle # Desenvolvido por: Carlos Henrique Renna de Vitta # e-mail: chrvitta@yahoo.com.br FUNCTION Idade($dDate) { $cRet=""; $nYear = date("Y")-substr($dDate,6,4); $nMonth = date("m")-substr($dDate,3,2); $nDays = date("d")-substr($dDate,0,2); $nMonthNasc = 0; IF (date("Y")>=substr($dDate,6,4) AND $dDate != "01/01/1900") { IF($nMonth<0 OR $nMonth==0 AND $nDays<0) { $nYear = $nYear-1 ; } else { $nYear = $nYear; } IF($nDays<0) { IF($nMonth<=0) {$nMonth = 11+$nMonth ;} else {$nMonth = $nMonth-1; } } else {$nMonth =$nMonth ;} IF ($nYear==0) {$cRet = "";} else {$cRet = $nYear;} IF($nYear==1) {$cRet.=" ano";} else {$cRet.=" anos";} IF($nMonth>0) { IF($nYear>0) {$cRet.=" e ".strzero($nMonth,2);} else {$cRet.="";} } IF($nMonth==1) {$cRet.=" mês";} elseif($nMonth>1) {$cRet.=" meses";} IF ($nYear==0 AND $nMonth==0) { $nMonthNasc = date("m",$dDate); IF($nDays<0) { IF($nMonthNasc==2) {$nDays=28;} elseif($nMonthNasc%2==0) { if($nMonthNasc>7) {$nDays=31;} else {$nDays=30;} } elseif($nMonthNasc%2==0) { if($nMonthNasc>7) {$nDays=31;} else {$nDays=30;}} + $nDays; } IF($nYear==0 AND $nMonth==0) {$cRet.="";} else {$cRet.=" e ";} $cRet.=strzero($nDays,2)+" dias"; } } ELSE { $cRet = "Idade inválida" ; } RETURN $cRet ; }