Idade em anos, meses e dias
Descubra a idade exata em anos, meses e dias entre uma data de nascimento e o dia que você escolher: quem nasceu em 15 de maio de 1990 tem 36 anos, 2 meses e 10 dias em 25 de julho de 2026. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Data de nascimento
- 1990-05-15
- Data de referência
- 2026-07-25
- Anos
- 36
- Meses
- 2
- Dias
- 10
- Total de dias
- 13.220
Quem procura uma calculadora de idade em anos, meses e dias quer um detalhamento civil em que formulários, sistemas de RH e famílias possam confiar: não um total aproximado de anos nem uma média flutuante de trinta vírgula quatro dias. Esta ferramenta recebe uma data de nascimento e uma data de referência obrigatória, não inventa o dia de hoje com o relógio do servidor e devolve anos inteiros, meses restantes e dias sobrando sob regras gregorianas prolépticas com ajuste de fim de mês.
Data de nascimento, data de referência e por que o relógio nunca é usado
Cada valor deve ser um dia civil no formato YYYY-MM-DD, por exemplo mil novecentos e noventa hífen zero cinco hífen quinze para o nascimento e dois mil e vinte e seis hífen zero sete hífen vinte e cinco para o dia do instantâneo. Você pode prefixar um datetime ISO-8601 completo; se houver hora, só a parte de calendário é usada, porque a idade civil é uma medida de data a data, não uma duração de relógio com fusos.
Ambos os extremos são obrigatórios de propósito: uma calculadora de idade que substitui em silêncio o relógio do host produz respostas diferentes em CI, num telefone sobre o Pacífico e num servidor em UTC, o que quebra auditorias de elegibilidade e exportações reproduzíveis. Os anos vão de um a nove mil novecentos e noventa e nove, os meses de um a doze, e o dia deve existir naquele mês sob regras de bissexto gregorianas, incluindo 29 de fevereiro só em anos bissextos.
Se a data de referência cair estritamente antes do nascimento, a solicitação falha com mensagem clara de que a idade não pode ser negativa, em vez de inventar uma idade com sinal que a maioria das UIs rotularia mal como a idade de alguém.
Como anos, meses e dias são contados no calendário civil
O algoritmo mede meses de calendário inteiros do nascimento até a referência, limitando o dia do mês quando o mês de destino é mais curto: um nascimento em 31 de janeiro avança um mês até o último dia de fevereiro em anos bissextos e não bissextos. Se essa data provisória ao avançar meses ultrapassar a referência, o motor recua um mês e informa o intervalo restante em dias inteiros entre a data intermediária ajustada e a referência.
Os anos são o total de meses inteiros dividido por doze; os meses, o resto módulo doze; os dias completam o triplo. Esse detalhamento alinha-se melhor à linguagem jurídica e médica de idade em anos, meses e dias do que dividir os dias totais por um comprimento médio fixo de mês, que desvia em bissextos e meses longos.
Casos limite como nascimento em dia bissexto medido em 28 de fevereiro num ano não bissexto seguem a mesma regra de clamp usada ao somar meses, mantendo a lógica de aniversário coerente com o restante da família de calendário do KIT.
Usos comuns e limites do cálculo
Use a calculadora gratuita de idade em anos, meses e dias no navegador para painéis de pais, demos em sala e checagens pontuais de elegibilidade sem instalar bibliotecas moment nem enviar um banco de fusos a cada cliente. Mantenha expectativas honestas: esta capacidade mede idade civil gregoriana entre duas datas explícitas; não pula fins de semana como idade comercial, não carrega calendários de feriados, não converte idades lunares nem define a referência como hoje no servidor. As entradas seguem as mesmas regras de retenção de outros itens parse do KIT.
Como a implementação é parse pura tier A, cada chamada bem-sucedida permanece barata, determinística e sem tokens de modelo ou rede de saída, exatamente o que suítes de regressão precisam ao fixar casos de aniversário ao longo de décadas de datas de nascimento.
Casos de uso
Formulários de elegibilidade e controle de idade
Passe uma data de nascimento fixa e uma data de corte de referência para mostrar anos, meses e dias em matrículas escolares, faixas etárias de concursos ou acesso a produtos regulados sem deriva do relógio do host.
Cartões pediátricos e de parentalidade
Calcule a idade exata em anos, meses e dias para consultas de rotina infantil e acompanhamento de marcos usando a data da visita como referência explícita.
Perguntas frequentes
E se a data de referência for anterior ao nascimento?
A idade não pode ser negativa; corrija o par ou troque campos só se o produto medir de propósito um nascimento futuro.
Como são tratados fim de mês e aniversários em dia bissexto?
Os meses avançam com clamp até o último dia válido do mês de destino. Os dias restantes são dias civis inteiros após esse avanço, alinhados a regras comuns de aniversário de calendário.
Quanto custa a calculadora de idade em anos, meses e dias?
A ferramenta no navegador é grátis no seu dispositivo.
A data de hoje é usada automaticamente?
Não. Você sempre escolhe o dia de referência, e a calculadora nunca consulta um relógio. Assim, as mesmas duas datas dão a mesma idade em qualquer aparelho, o que importa em formulários e auditorias.
Posso digitar uma data com horário?
Pode, mas só a parte da data é usada. A idade em anos, meses e dias é medida de uma data a outra, então o horário e o fuso horário não mudam o resultado.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/date/age-months-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"birth_date":"1990-05-15","reference_date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/age-months-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"birth_date": "1990-05-15",
"reference_date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/age-months-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"birth_date": "1990-05-15",
"reference_date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/age-months-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"birth_date":"1990-05-15","reference_date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"birth_date":"1990-05-15","reference_date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/age-months-days", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"birth_date": "1990-05-15",
"reference_date": "2026-07-25"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.age_months_days",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Dias de calendário inválidos falham com invalid_input e não são cobrados; itens bem-sucedidos custam US$ 0,002 do saldo KIT.
Data de nascimento, data de referência e por que o relógio nunca é usado
Envie dois campos de string obrigatórios: birth_date e reference_date. Aliases opcionais birth, birthdate, dob e from mapeiam para o campo de nascimento; reference, as_of, to e on para o de referência, para que construtores de formulários e SDKs mantenham nomes familiares. Pares impossíveis como dois mil e vinte e três hífen zero dois hífen vinte e nove são rejeitados com invalid_input em vez de serem forçados para março.
Como anos, meses e dias são contados no calendário civil
Em caso de sucesso a resposta ecoa birth_date e reference_date normalizados como YYYY-MM-DD, depois years, months e days como inteiros não negativos que juntos descrevem a idade civil exata. O campo total_days é a diferença civil exclusiva entre os dois ordinais: o mesmo dia de calendário produz zero total_days e zero years, months e days, enquanto o dia seguinte produz um dia de idade.
Uso da API, preços, fluxos de produto e limites honestos
Faça POST de um corpo JSON compacto com as strings birth_date e reference_date. Chame a API pré-paga quando onboarding de RH, cartões pediátricos, faixas etárias esportivas, formulários de visto ou subscrição de seguros precisarem de um contrato estável com saldo KIT a US$ 0,002 por item bem-sucedido; falhas de validação não consomem saldo após a rejeição do motor. Combine este endpoint com uma ferramenta de contagem de dias quando precisar só do comprimento do intervalo, ou com auxiliares de meses entre datas quando o produto falar só em meses inteiros para bebês. Autores de SDK podem mapear years, months e days em três widgets numéricos e exibir a string formatted em rótulos de acessibilidade, com a mesma forma de resposta em cada binding de idioma.
Casos de integração
Tempo de casa em RH e instantâneos de aniversário
Armazene idade civil ou de serviço contra uma data de folha ou auditoria para que exportações e testes golden reproduzam o mesmo triplo sempre.
Perguntas técnicas
Como calculo a idade em anos, meses e dias?
Envie JSON com birth_date e reference_date em YYYY-MM-DD. A resposta inclui years, months, days, total_days e uma string formatted como "36 years, 2 months, 10 days".
Isso usa a data de hoje automaticamente?
Não. reference_date é obrigatório. O motor nunca lê o relógio do sistema, então os resultados permanecem idênticos em CI, navegadores e workers de API.