Beraldo Postado Dezembro 20, 2006 Denunciar Share Postado Dezembro 20, 2006 Script postado por: FabyoCalcular Idade a Partir da Data de Nascimento<?phpfunction 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?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest LM Postado Junho 27, 2008 Denunciar Share Postado Junho 27, 2008 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"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Léo -- Postado Setembro 12, 2008 Denunciar Share Postado Setembro 12, 2008 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; } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Santoangelense Postado Outubro 6, 2008 Denunciar Share Postado Outubro 6, 2008 <?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";?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ikkinet Postado Outubro 12, 2008 Denunciar Share Postado Outubro 12, 2008 <?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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pedro Sézar Postado Novembro 19, 2008 Denunciar Share Postado Novembro 19, 2008 valeu aí, Beraldoexcelente script me ajudou muitomuito obrigado!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 pedraozaum Postado Setembro 18, 2009 Denunciar Share Postado Setembro 18, 2009 (editado) 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 Setembro 18, 2009 por pedraozaum Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bigcheat Postado Setembro 10, 2010 Denunciar Share Postado Setembro 10, 2010 Script postado por: FabyoCalcular Idade a Partir da Data de Nascimento<?phpfunction 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"); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Beraldo
Script postado por: Fabyo
Calcular Idade a Partir da Data de Nascimento
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
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.