Como calcular a idade por meio da data de nascimento com JavaScript

Neste artigo você vai aprender a como calcular a idade por meio da data de nascimento, utilizando uma data no padrão YYYY/MM/DD

calcular a idade por meio da data de nascimento capa

Fala programador(a), beleza? Bora aprender mais sobre datas em JavaScript!

Neste artigo vou utilizar um snipet famoso da internet que resolve o problema de cálculo de idade

Apenas adaptei ele para modernizar um pouco o código JavaScript, mas vem diretamente do StackOverFlow

Vamos primeiramente criar uma função que recebe a data no formato YYYY/MM/DD

Que é o formato universal para datas

Vamos criar objetos a partir da classe Date, serão dois:

  • Um com a data atual;
  • E o outro com a data baseada na data de aniversário;
Formação Vibe Coding
Formação Recomendada

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Depois vamos fazer subtrações com os valores, para resgatar a diferença entre anos

Que justamente é a idade final! 🙂

Veja um exemplo de código:

function getAge(dateString) {

    const today = new Date();
    const birthDate = new Date(dateString);
    let age = today.getFullYear() - birthDate.getFullYear();
    const m = today.getMonth() - birthDate.getMonth();
    
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    
    return age;
}

console.log(getAge("1991/05/02")) // 31

A condicional no meio da função serve para resolver possíveis problemas

Por exemplo o de ano bissexto, conhecido também como leap year

Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:

Conclusão

Neste artigo você aprendeu a como calcular a idade por meio da data de nascimento

Criamos uma função que calcula a diferença entre duas datas

A data do aniversário e também a data atual, resultado na idade do usuário

Note que os dados precisam estar no formato ANO/MÊS/DIA, que é comumente o mais utilizado

Deseja programar de forma profissional? Confira o nosso treinamento completo clicando aqui.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!

Aqui no Brasil quase ninguém digita data no formato ANO/MÊS/DIA, né?

A gente escreve 02/05/1991, no bom e velho DIA/MÊS/ANO

E aí mora uma cilada: se tu jogar ’02/05/1991′ direto no new Date(), o JavaScript não entende do jeito que tu espera e o cálculo sai furado

Então antes de calcular, a gente vira a data pro formato que a função entende

function calcularIdadeBR(dataBR) { const partes = dataBR.split(‘/’) const dataConvertida = ano + ‘/’ + mes + ‘/’ + dia return getAge(dataConvertida) }

console.log(calcularIdadeBR(’02/05/1991′))

Se liga: a gente só quebra a string no ‘/’, reordena pra ANO/MÊS/DIA e reaproveita a mesma função getAge que já montamos lá em cima

Simples e resolve o caso mais comum de quem tá desenvolvendo pra usuário brasileiro

Um dos usos mais comuns do cálculo de idade é justamente checar se o usuário é maior de idade

Com a função pronta, isso vira uma linha:

function ehMaiorDeIdade(dateString) { return getAge(dateString) >= 18 }

console.log(ehMaiorDeIdade(‘1991/05/02’)) // true

A função devolve true ou false, aí tu usa num if pra liberar (ou bloquear) o que precisar no teu sistema

Bora reaproveitar o getAge de novo, sem reinventar a roda

A condicional if serve pra quê exatamente? Ela acerta a idade quando a pessoa ainda não fez aniversário no ano atual. Sem ela, alguém que nasceu em dezembro apareceria com um ano a mais durante boa parte do ano

Posso usar a data que vem de um input do formulário? Pode! Só toma cuidado com o formato. Se o input devolve DD/MM/AAAA, converte pra ANO/MÊS/DIA antes de passar pra função, do jeito que mostrei ali em cima

Preciso de alguma biblioteca externa pra isso? Não precisa. Todo o cálculo roda com a classe Date, que já é nativa do JavaScript. Nada de instalar pacote pra uma conta simples de idade

Leia também

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Formações

Formação SAAS com IA

Formação SAAS com IA

Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!

  • 291 aulas
  • 18 projetos
  • 24h 17min

Blog | Mais populares