Ir para conteúdo
Fórum Script Brasil
  • 0

Calcular Idade A Partir Da Data De Nascimento


Beraldo

Pergunta

Script postado por: Fabyo

Calcular Idade a Partir da Data de Nascimento

<?php

function calc_idade( $data_nasc ){

$data_nasc = explode("-", $data_nasc);

$data = date("d-m-Y");

$data = explode("-", $data);

$anos = $data[2] - $data_nasc[2];

if ( $data_nasc[1] >= $data[1] ){

if ( $data_nasc[0] <= $data[0] ){

return $anos; break;

}else{

return $anos-1;

break;

}

}else{

return $anos;

}

}

$anos = calc_idade("18-05-1977");

echo "$anos anos"; //27 anos

?>

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

ta errado o script de cima, segue o correto:

function calc_idade($data_nasc) {

$data_nasc=explode("/",$data_nasc);

$data=date("d/m/Y");

$data=explode("/",$data);

$anos=$data[2]-$data_nasc[2];

if ($data_nasc[1] > $data[1]) {

return $anos-1;

} if ($data_nasc[1] == $data[1]) {

if ($data_nasc[0] <= $data[0]) {

return $anos;

break;

} else {

return $anos-1;

break;

}

} if ($data_nasc[1] < $data[1]) {

return $anos;

}

}

echo calc_idade("$dia/$mes/$ano");

Link para o comentário
Compartilhar em outros sites

  • 0

Como no banco de dados a data é armazenada no formado AAAA-MM-DD a função corretá é:

function calcula_idade($data_nascimento) {

    $data_nasc = explode('-', $data_nascimento);
    $data = date('Y-m-d');
    $data = explode("-", $data);
    $anos = $data[0] - $data_nasc[0];
    
    if ($data_nasc[1] >= $data[1]){
        if ($data_nasc[2] <= $data[2]){
            return $anos; break;
        } else {
            return $anos-1;
            break;
        } 
    } else {
        return $anos;
    } 
}

Link para o comentário
Compartilhar em outros sites

  • 0
<?php

//Como o formato do banco de dados é aaaa-mm-dd

//basta usar essa 4 linhas qu vai dar exato a idade

$datanas = "1980-01-28";

$data = date('Y-m-d');

$idade = $data-$datanas;

echo "$idade";

?>

Na verdade, não é bem assim..

O que acontece é que, ao fazer uma operação de subtração, o PHP vai interpretar a data como número, até encontrar o -, caractere a partir do qual ele ignorará todo o restante. Desta forma, o que ele faz é apenas um subtração simples do ano, ignorando o mês e o dia.

Assim, se você nasceu em 1980-01-28 e a data do servidor Web estiver em 2008-01-01, estas quatro linhas retornarão 28, e não 27 como deveria ser.

Link para o comentário
Compartilhar em outros sites

  • 0

Este script recebe a data no formato padrão do banco yyyy-mm-dd;

<?php
// Paramentos: $mm $dd $yyyy de aniversario
function pegaIdade($datab) {
$data = split("-",$datab);
$anob = $data[0];
$mesb = $data[1];
$diab = $data[2];
list ($dia,$mes,$ano) = explode("/",date("d/m/Y"));
$idade = $ano-$anob;
$idade = (($mes<$mesb) OR (($mes==$mesb) AND ($dia<$diab))) ? --$idade : $idade;
return $idade;
}
?>
coloque a variavel como ela retorna do banco:
<?=pegaIdade($dados['data_nasc'])?>

Editado por pedraozaum
Link para o comentário
Compartilhar em outros sites

  • 0
Script postado por: Fabyo

Calcular Idade a Partir da Data de Nascimento

<?php

function calc_idade( $data_nasc ){

$data_nasc = explode("-", $data_nasc);

$data = date("d-m-Y");

$data = explode("-", $data);

$anos = $data[2] - $data_nasc[2];

if ( $data_nasc[1] >= $data[1] ){

if ( $data_nasc[0] <= $data[0] ){

return $anos; break;

}else{

return $anos-1;

break;

}

}else{

return $anos;

}

}

$anos = calc_idade("18-05-1977");

echo "$anos anos"; //27 anos

?>

Eu acho bem mais fácil e útil fazer da seguinte forma:

<?php

function calcular_idade( $ano_de_nasc ){

$ano_de_hoje = date("Y");
$idade = $ano_de_hoje - $ano_de_nasc;

echo $idade;

}

calcular_idade("1996");

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...