Beraldo Posted December 20, 2006 Report Share Posted December 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?> Quote Link to comment Share on other sites More sharing options...
0 Guest LM Posted June 27, 2008 Report Share Posted June 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"); Quote Link to comment Share on other sites More sharing options...
0 Guest --Léo -- Posted September 12, 2008 Report Share Posted September 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; } } Quote Link to comment Share on other sites More sharing options...
0 Santoangelense Posted October 6, 2008 Report Share Posted October 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";?> Quote Link to comment Share on other sites More sharing options...
0 ikkinet Posted October 12, 2008 Report Share Posted October 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. Quote Link to comment Share on other sites More sharing options...
0 Pedro Sézar Posted November 19, 2008 Report Share Posted November 19, 2008 valeu aí, Beraldoexcelente script me ajudou muitomuito obrigado!!! Quote Link to comment Share on other sites More sharing options...
0 pedraozaum Posted September 18, 2009 Report Share Posted September 18, 2009 (edited) 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'])?> Edited September 18, 2009 by pedraozaum Quote Link to comment Share on other sites More sharing options...
0 bigcheat Posted September 10, 2010 Report Share Posted September 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"); ?> Quote Link to comment Share on other sites More sharing options...
Question
Beraldo
Script postado por: Fabyo
Calcular Idade a Partir da Data de Nascimento
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.