solucionado:
Tenemos que pasarle la fecha de nacimiento en formato de texto, para que nos conserve el 0 delante del número del mes, por ejemplo 2015-03-01 si estos datos los pasamos como número al acumularlos individualmente, nos elimina el cero pero si los pasamos como letra, nos conserva el "01" y el "03" de forma que al concatenarlos en la función quedaria "0301", si no nos quedaría "31"
Código PHP:
Ver original//CALCULA LA EDAD ACTUARIAL.
function CalculaEdad( $fecha ) {
if($ma>$m) {
$temp=($ma)-$m;//."meses *opcion1*";
if($temp>6){
//echo "<br/>año mas uno<br/>";
$mesresta=1;
}
}
if($ma<$m) {
$temp=(12-$m)+$ma;//."meses *opcion2*";
if($temp>=6){
//echo "<br/>año mas uno<br/>";
$mesresta=1;
}
}
if($ma==$m) {
//echo "<br/>año mas uno por dias<br/>";
$mesresta=1;
}
//echo "<br/>no se suma porque ya los ha cumplido este mes<br/>";
}
if(($ma.date("d")) < ($m.$d)){ $Anoactuales= date("Y")-$Y-1; }else{
$Anoactuales= date("Y")-$Y; }
return($Anoactuales+$mesresta);
}
Calcula la edad exacta, con un margen de error de menos de 24 horas y calcula si hace mas de 6 meses que cumpliste los años, te pone 1 año mas. (es lo que requieren las contrataciones de seguros.)