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