Hola, me pidieron ayuda para con este código pero la verdad aún no encuentro como solucionarlo, espero me puedan ayudar. De antemano muchas gracias.
La idea es buscar la edad de los usuarios comparandola con la fecha actual, se supone que el código tiene algún error, pero aún no logro encontrarlo.
Código PHP:
class CalculoEdad{
function CalcularEdad($fecha_de_nacimiento){
$fecha_actual = date ("d-m-Y");
$fecha_de_nacimiento = date("d-m-Y", strtotime($fecha_de_nacimiento));
// separamos en partes las fechas
$form1 = explode ( "-", $fecha_de_nacimiento );
$form2 = explode ( "-", $fecha_actual );
$año_nac = $form1[2];
$mes_nac = $form1[1];
$dia_nac = $form1[0];
$año_act = $form2[2];
$mes_act = $form2[1];
$dia_act = $form2[0];
$years = $año_act - $año_nac;
//años
if ($año_nac < $año_act)
{
if($mes_nac>$mes_act)
{
$years=$years-1;
}
else if($mes_nac==$mes_act and($dia_nac>$dia_act))
{
$years=$years-1;
}
else
{
$years;
}
}
$months=$mes_nac-1;
$months=($año_nac*12)+$months;
$months1=$mes_act-1;
$months1=($año_act*12)+$months1;
$res=$months1-$months;
//$res=$res % 12;
if($dia_nac>$dia_act)
{
$res=$res-1;
$res = $res % 12;
}
else
{
$res=$res;
$res = $res % 12;
}
if($res<10)
{
$res="0".$res;
}
else
{
$res=$res;
}
return $years.".".$res;
}// fin de la funcion
//fecha con texto
function CalcularEdadTexto($fecha_de_nacimiento){
$fecha_actual = date ("d-m-Y");
$fecha_de_nacimiento = date("d-m-Y", strtotime($fecha_de_nacimiento));
// separamos en partes las fechas
$form1 = explode ( "-", $fecha_de_nacimiento );
$form2 = explode ( "-", $fecha_actual );
$año_nac = $form1[2];
$mes_nac = $form1[1];
$dia_nac = $form1[0];
$año_act = $form2[2];
$mes_act = $form2[1];
$dia_act = $form2[0];
$years = $año_act - $año_nac;
//años
if ($año_nac < $año_act)
{
if($mes_nac>$mes_act)
{
$years=$years-1;
}
else if($mes_nac==$mes_act and($dia_nac>$dia_act))
{
$years=$years-1;
}
else
{
$years;
}
}
$months =$mes_nac-1;
$months=($año_nac*12)+$months;
$months1=$mes_act-1;
$months1=($año_act*12)+$months1;
$res=$months1-$months;
//$res=$res % 12;
if($dia_nac>$dia_act)
{
$res=$res-1;
$res = $res % 12;
}
else
{
$res=$res;
$res = $res % 12;
}
if($res<10)
{
$res="0".$res;
}
else
{
$res=$res;
}
return $years." años ".$res." meses ";
}// fin de la funcion
function Eda2($fecha_de_nacimiento){
//$fecha_actual = date ("d-m-Y");
$fecha_actual = $fecha_reporte;
$fecha_de_nacimiento = date("d-m-Y", strtotime($fecha_de_nacimiento));
// separamos en partes las fechas
$form1 = explode ( "-", $fecha_de_nacimiento );
$form2 = explode ( "-", $fecha_actual );
$año_nac = $form1[2];
$mes_nac = $form1[1];
$dia_nac = $form1[0];
$año_act = $form2[2];
$mes_act = $form2[1];
$dia_act = $form2[0];
$years = $año_act - $año_nac;
//años
if ($año_nac < $año_act)
{
if($mes_nac>$mes_act)
{
$years=$years-1;
}
else if($mes_nac==$mes_act and($dia_nac>$dia_act))
{
$years=$years-1;
}
else
{
$years;
}
}
$months =$mes_nac-1;
$months=($año_nac*12)+$months;
$months1=$mes_act-1;
$months1=($año_act*12)+$months1;
$res=$months1-$months;
//$res=$res % 12;
if($dia_nac>$dia_act)
{
$res=$res-1;
$res = $res % 12;
}
else
{
$res=$res;
$res = $res % 12;
}
if($res<10)
{
$res="0".$res;
}
else
{
$res=$res;
}
return $years.".".$res;
}// fin de la funcion
///FECHA PROGRAMADA PARA EL REPORTE DE SEGUIMIENTOS
function CalcularEdad3($fecha_de_nacimiento, $fecha_actual){
$fecha_de_nacimiento = date("d-m-Y", strtotime($fecha_de_nacimiento));
// separamos en partes las fechas
$form1 = explode ( "-", $fecha_de_nacimiento );
$form2 = explode ( "-", $fecha_actual );
$año_nac = $form1[2];
$mes_nac = $form1[1];
$dia_nac = $form1[0];
$año_act = $form2[2];
$mes_act = $form2[1];
$dia_act = $form2[0];
$years = $año_act - $año_nac;
//años
if ($año_nac < $año_act)
{
if($mes_nac>$mes_act)
{
$years=$years-1;
}
else if($mes_nac==$mes_act and($dia_nac>$dia_act))
{
$years=$years-1;
}
else
{
$years;
}
}
$months =$mes_nac-1;
$months=($año_nac*12)+$months;
$months1=$mes_act-1;
$months1=($año_act*12)+$months1;
$res=$months1-$months;
//$res=$res % 12;
if($dia_nac>$dia_act)
{
$res=$res-1;
$res = $res % 12;
}
else
{
$res=$res;
$res = $res % 12;
}
if($res<10)
{
$res="0".$res;
}
else
{
$res=$res;
}
return $years.".".$res;
}// fin de la funcion
function CalcularEdad4($fecha_de_nacimiento, $fecha_prog){
$fecha_actual = $fecha_prog;
$fecha_de_nacimiento = date("d-m-Y", strtotime($fecha_de_nacimiento));
// separamos en partes las fechas
$form1 = explode ( "-", $fecha_de_nacimiento );
$form2 = explode ( "-", $fecha_actual );
$año_nac = $form1[2];
$mes_nac = $form1[1];
$dia_nac = $form1[0];
$año_act = $form2[2];
$mes_act = $form2[1];
$dia_act = $form2[0];
$years = $año_act - $año_nac;
//años
if ($año_nac < $año_act)
{
if($mes_nac>$mes_act)
{
$years=$years-1;
}
else if($mes_nac==$mes_act and($dia_nac>$dia_act))
{
$years=$years-1;
}
else
{
$years;
}
}
$months =$mes_nac-1;
$months=($año_nac*12)+$months;
$months1=$mes_act-1;
$months1=($año_act*12)+$months1;
$res=$months1-$months;
//$res=$res % 12;
if($dia_nac>$dia_act)
{
$res=$res-1;
$res = $res % 12;
}
else
{
$res=$res;
$res = $res % 12;
}
if($res<10)
{
$res="0".$res;
}
else
{
$res=$res;
}
return $years.".".$res;
}// fin de la funcion
}// fin de la clase