0

Cálculo de idade!

criado por Anderson Luiz de Oliveira em 28/06/2006 12:02pm
Cálculo com programação didática, que retorna a idade de uma pessoa a partir da data de nascimento!
Data Autor Changelog Download
28/06/2006 12:02pm Anderson Luiz de Oliveira - Versão 1.0

Comentários:

Mostrando 1 - 4 de 4 comentários
Louco, mas muito bem sacado! Parabéns.
Tem somente 2 errinhos fáceis de corrigir: o script original não calcula direito se a data de nascimento é no mesmo mês que a data atual, mas em um dia menor que da data atual. E também não calcula se a data de nascimento é exatamente igual à data de hoje.
Pequenas correções, feitas abaixo, fixam esses problemas.

<?
/* CENTRO PAULISTA WEB & MARKETING
*
* www.centropaulista.com.br
*
* by: Anderson Luiz de Oliveira
* www.andersonluiz.com.br
*
* curso gratuito de PHP. acesse: www.andersonluiz.com.br
*
*/
?>

<?

//insira a data a ser testada aqui:
$nasc = "04/09/1962"; //-> sou aquariano, rs! :)

//pega a data atual
$dia = date("d/m/Y");

//separa o dia, o mês e o ano para o cálculo usando o explode
$calc = explode("/", $nasc);

//faz a comparação das datas e exibe a idade!
$anos = (date("Y") - $calc[2]);
if ( (date("m") < $calc[1]) )
{
echo "vc tem " . ($anos - 1) . " anos!";
}
if ( (date("m") == $calc[1]) && (date("d") < $calc[0]))
{
echo "vc tem " . ($anos - 1) . " anos!";
}

if ( (date("m") == $calc[1]) && (date("d") >= $calc[0]))
{
echo "vc tem " . ($anos) . " anos!";
}
if ( (date("m") > $calc[1]) )
{
echo "vc tem " . ($anos) . " anos!";
}

?>
04/07/2006 9:47am (~18 anos atrás)

J! haha, até aqui a gente se topa, haha! Mas seguinte, o cálculo é feito com strigs, sem usar nenhuma função da data e hora, com exceção da função date(), mas resumindo, o que temos é:

1 - Vc tem uma data de nascimento a ser testada!
2 - Usando o explode, você separa o dia, o mês e o ano da data de nascimento!
3 - Depois que você separou tudo, você compara o dia da data de nascimento com a data de hoje, depois compara o mês da data de nascimento com o mês de hoje e por final, compara o ano de nascimento com o ano de hoje!

Exemplo:

Eu nasci em 1984, estamos em 2006 e dependendo do mês em que nasci eu posso ter 22 ou 21 anos, para descobrir o código faz o seguinte:

Se os valores do dia e mês forem maior que os valores do dia e o mês atual, você sabe que o meu niver já foi, portanto tenho 22 anos, mas se os valores do dia e do mês forem menores do que os data de nascimento, você sabe que eu tenho 21 anos!

Mas segura as pontas aew, que vou turbinar esse script com um algorítmos para explicar linha a linha, daew eu publico novamente!



Se você compara somente o ano você não terá a idade verdadeira, por isso, você também tem que testar o mês e o dia!

Segura as pontas aew que eu vou publicar uma nova versão com mais explicações!







03/07/2006 5:52am (~18 anos atrás)

Oi And. nós se encontrando até aqui vejam só!!

Seguinte eu gostei pakas do seu código, porém não entendi direito os calculos que você fez, você pode explicar?!
01/07/2006 5:46am (~18 anos atrás)

Oi And. nós se encontrando até aqui vejam só!!

Seguinte eu gostei pakas do seu código, porém não entendi direito os calculos que você fez, você pode explicar?!
01/07/2006 5:45am (~18 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)