Edad.class.php
Código PHP:
<?php
class Edad
{
private $fecha_nacimiento;
public function __construct($fecha_nacimiento)
{
$this->fecha_nacimiento=$fecha_nacimiento;
}
private function dia()//Día de la fecha de nacimiento
{
$fecha=explode("-",$this->fecha_nacimiento);
$dia=$fecha[2];
return $dia;
}
private function mes()//Mes de la fecha de nacimiento
{
$fecha=explode("-",$this->fecha_nacimiento);
$mes=$fecha[1];
return $mes;
}
private function anio()//Año de la fecha de nacimiendo
{
$fecha=explode("-",$this->fecha_nacimiento);
$anio=$fecha[0];
return $anio;
}
private function getmes()//Mes actual
{
$hoy=explode("-",date("Y-m-d"));
$mes=$hoy[1];
return $mes;
}
private function getanio()//Año actual
{
$hoy=explode("-",date("Y-m-d"));
$anio=$hoy[0];
return $anio;
}
private function getdia()//Día actual
{
$hoy=explode("-",date("Y-m-d"));
$dia=$hoy[2];
return $dia;
}
private function calculo()//Calculo de la edad actual
{
$cumplidos=$this->getanio()-$this->anio();
return $cumplidos;
}
public function calcular_edad()//Calculo de la edad con la codicion de que si no ha llegado a la fecha exacta de nacimiento no imprime la edad que en el año actual deberia cumplir
{
$edad=$this->calculo();
if($this->getmes()>=$this->mes() && $this->getdia()>=$this->dia()){//Verifica que si el mes y dia son iguales a los de su nacimiento
return $edad;
}else{
$edad=$edad-1;
return $edad;
}
}
public function __destruct()
{
$this->fecha_nacimiento;
}
}
$edad=new Edad("1985-07-22");//Ejemplo de uso
echo $edad->calcular_edad();
?>