Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Peguei esta função para calcular a idade, calculando a diferença entre 2 datas.
Queria saber porque quando informo uma data maior que 2038 ele calcula a idade errada?
Por exemplo a idade de quem nasceu em 25/03/1986, estará com quantos anos do dia 25/03/2041 por exemplo.
Segue a função:
[inline]function CalculaIdade($data_nasc, $data = "hoje"){
// Separa em dia, mês e ano
list($dia_idade, $mes_idade, $ano_idade) = explode('/', $data_nasc);
if($data == "hoje"){$hoje_idade = mktime(0, 0, 0, $mes_hj, $dia_hj, $ano_hj);
}
// Descobre a unix timestamp da data de nascimento do fulano
$nascimento_idade = mktime( 0, 0, 0, $mes_idade, $dia_idade, $ano_idade);
// Depois apenas fazemos o cálculo já citado :)
$idade_idade = floor((((($hoje_idade - $nascimento_idade) / 60) / 60) / 24) / 365.25);
return $idade_idade;
}
echo CalculaIdade("25/03/1986","26/03/2038");[/inline]
Carregando comentários...