Como calcular a idade a partir da data de nascimento em PHP

Muitas vezes, em sistemas de informação, precisamos calcular a idade do usuário para decidir se devemos conceder acesso ao usuário ou não. Bastante comum em sistemas de compras online, onde o usuário precisa ser maior de idade para realizar uma compra.

Se você busca por uma rotina rápida em PHP para descobrir quantos anos de idade tem o seu usuário, disponibilizo para você esta pequena rotina que calcula a idade a partir da data de nascimento.

Você pode utilizar esta função da forma como julgar necessário. Caso queria, você também pode compartilhar esta rotina com em sua rede social favorita.

Rotina para calcular idade

A rotina, em si, é bastante fácil. Você pode adicionar em sua biblioteca para utilizar nas partes do sistema que você está construindo.

<?php
function calcularIdade($date){
    $time = strtotime($date);
    if($time === false){
      return '';
    }
 
    $year_diff = '';
    $date = date('Y-m-d', $time);
    list($year,$month,$day) = explode('-',$date);
    $year_diff = date('Y') - $year;
    $month_diff = date('m') - $month;
    $day_diff = date('d') - $day;
    if ($day_diff < 0 || $month_diff < 0) $year_diff-;
 
    return $year_diff;
}

Usando função nativa para calcular idade

Você também pode usar as funções nativas do PHP para calcular a idade. Caso você não precise armazenar essa rotina em uma função reutilizável, você pode utilizar as instruções abaixo.

Veja o exemplo abaixo.

$dataNascimento = '1988-12-20';
$date = new DateTime($dataNascimento );
$interval = $date->diff( new DateTime( date('Y-m-d') ) );
echo $interval->format( '%Y anos' );

Espero ter te ajudado. Caso tenha alguma dúvida sobre a rotina, deixe um comentário abaixo.

Sugestão do desenvolvedor

É importante que a validação não aconteça apenas no back-end. Você pode reduzir o consumo do seu servidor, incluindo uma simples instrução JavaScript para validar também no lado do cliente.

Eu separei um código em JavaScript para você fazer essa validação também no client-side.

function validacaoCalcularIdade(dataNasc){
var dataAtual = new Date();
var anoAtual = dataAtual.getFullYear();
var anoNascParts = dataNasc.split('/');
var diaNasc =anoNascParts[0];
var mesNasc =anoNascParts[1];
var anoNasc =anoNascParts[2];
var idade = anoAtual - anoNasc;
var mesAtual = dataAtual.getMonth() + 1;

if(mesAtual < mesNasc){
idade--;
}else {

if(mesAtual == mesNasc){
if(dataAtual.getDate() < diaNasc ){

idade--;
}
}
}
return idade;
}

Espero que este artigo te ajude na construção do seu sistema. Qualquer dúvida, pode deixar nos comentários que eu terei o prazer em te ajudar.

Dica Extra: Quer aprender PHP em vídeo aula?

Se você tem interesse em se profissionalizar como desenvolvedor PHP, eu tenho um presente para você. Eu separei algumas aulas em vídeo gratuitas para você do curso PHP do Zero ao Profissional.Você poderá assistir quantas vezes desejar.

Caso tenha interesse, clique aqui para acessar.

Como calcular a idade a partir da data de nascimento em PHP
5 (100%) 2 votes

Deixe um comentário