BrowserTools
Publicidade
Início / Calculadoras / Calculadora de Datas

Calculadora de Datas

Calcula a idade a partir de uma data de nascimento, encontra o intervalo entre duas datas, ou soma e subtrai tempo a qualquer data.

A carregar Calculadora de Datas… Se nada acontecer, ativa o JavaScript.

A aritmética de datas é uma daquelas coisas que parecem simples mas escondem uma complexidade surpreendente. Que idade tem alguém nascido a 29 de fevereiro num ano não bissexto? Quantos dias úteis há entre duas datas? Como somas três meses a 31 de outubro sem cair em dezembro? Esta calculadora trata com clareza os casos do dia a dia: a idade a partir de uma data de nascimento, o intervalo exato entre quaisquer duas datas, e somar ou subtrair anos, meses e dias a uma data dada.

Perguntas frequentes

São enviados dados para um servidor?
Não. Todos os cálculos acontecem inteiramente no teu navegador usando a API Date integrada do JavaScript. As datas que introduzes nunca saem do teu dispositivo e não é feito qualquer pedido de rede.
Como é calculada a idade, exatamente?
A idade é calculada comparando a data de nascimento com a data de hoje. O algoritmo subtrai o ano, o mês e o dia de nascimento dos valores de hoje e aplica uma lógica de transporte quando o mês ou o dia de hoje é anterior ao mês ou ao dia de nascimento. Por exemplo, se hoje for 10 de março e tiveres nascido a 15 de março, o mês completo ainda não decorreu, por isso o algoritmo conta para trás até ao mês anterior.
O que acontece com os aniversários em anos bissextos (29 de fevereiro)?
As pessoas nascidas a 29 de fevereiro têm um aniversário legal, na maioria das jurisdições, a 28 de fevereiro nos anos não bissextos (ou a 1 de março em alguns países). Esta ferramenta trata o 28 de fevereiro como o aniversário equivalente nos anos não bissextos, que é a convenção mais comum.
Por que é que o intervalo não corresponde a uma simples contagem de dias dividida por 365?
Porque os meses têm durações diferentes e os anos têm 365 ou 366 dias. Dividir o total de dias por 365,25 dá uma média aproximada mas acumula erro. Esta ferramenta conta os anos de calendário completos, os meses de calendário completos dentro do período restante e depois os dias que sobram, da mesma forma que uma pessoa contaria num calendário.
O que produz 'somar 1 mês a 31 de janeiro'?
Produz 28 de fevereiro (ou 29 num ano bissexto), não 3 de março. O objeto Date do JavaScript trata isto ajustando ao último dia válido do mês resultante, que é o comportamento mais intuitivo para cálculos de agendamento e de contratos.
Posso calcular o número de dias úteis entre duas datas?
Esta ferramenta calcula dias de calendário, não dias úteis. Os cálculos de dias úteis exigem saber que feriados se aplicam no teu país e região, o que varia a nível mundial. Para cálculos de dias úteis, uma ferramenta dedicada de recursos humanos ou de gestão de projetos é mais apropriada.
Posso introduzir datas no passado para calcular intervalos históricos?
Sim. A calculadora de intervalos aceita quaisquer duas datas independentemente da ordem e mostrará a diferença absoluta entre elas com uma nota se a segunda data for anterior à primeira. As datas no passado são totalmente suportadas, podes calcular exatamente há quanto tempo ocorreu um acontecimento histórico.
Qual é a precisão do valor de 'dias até ao próximo aniversário'?
É calculado da meia-noite de hoje até à meia-noite da próxima ocorrência do teu mês e dia de nascimento. Se o executares perto da meia-noite, o resultado pode diferir num dia do resultado de amanhã, dependendo do desvio do teu fuso horário local em relação ao UTC.
Que fuso horário utiliza?
As datas introduzidas são interpretadas como datas de calendário locais (ano, mês, dia) sem componente de hora, usando o fuso horário local do teu navegador. Os cálculos comparam apenas datas de calendário, por isso as diferenças de fuso horário não afetam as contagens de dias nos casos de uso típicos, como os cálculos de idade ou de intervalo.
Qual é o intervalo máximo de datas suportado?
O objeto Date do JavaScript suporta datas aproximadamente entre o ano 271.821 a.C. e o ano 275.760 d.C., muito para além de qualquer caso de uso prático. Para os cálculos de idade humana e de intervalos não há um limite superior significativo.

Sobre Calculadora de Datas

O cálculo da idade surge constantemente, ao preencher formulários que pedem a idade em anos e meses, ao verificar se alguém cumpre um requisito de idade mínima, ao calcular anos de serviço, ou simplesmente para satisfazer a curiosidade sobre há quantos dias estás vivo. O resultado aqui divide a idade em anos, meses e dias, e acrescenta o total em dias e semanas para teres perspetiva. Também mostra quantos dias faltam para o próximo aniversário.

A ferramenta de intervalo entre datas é útil sempre que precisas de saber a duração exata entre dois acontecimentos: o tempo decorrido desde que um contrato começou, os dias entre um diagnóstico e uma consulta de seguimento, quanto falta para um prazo, ou simplesmente há quanto tempo aconteceu algo. O resultado é expresso em várias granularidades, o total de dias, o total de semanas, e uma divisão em anos mais meses restantes mais dias restantes, para que possas usar a unidade que melhor se adequa ao contexto.

A ferramenta de somar/subtrair resolve o problema inverso: dada uma data de início e uma duração, qual é a data resultante? Isto é prático para calcular datas de vencimento, períodos de pré-aviso, expiração de garantias, renovações de subscrições e qualquer situação em que precises de contar um número preciso de meses ou dias para a frente ou para trás sem teres de percorrer mentalmente meses de durações diferentes. Todos os cálculos são executados inteiramente no teu navegador, não são enviados dados para lado nenhum.

Por que a aritmética de datas é mais difícil do que parece

O calendário gregoriano, introduzido pelo papa Gregório XIII em 1582, foi concebido para corrigir o desvio do calendário juliano fazendo com que os anos de fim de século não fossem bissextos a menos que fossem divisíveis por 400. Isto significa que 1900 não foi um ano bissexto mas 2000 foi, uma subtileza que apanhou muitos programadores desprevenidos durante os preparativos do bug do milénio. As regras parecem simples até começares a implementá-las: um mês pode ter 28, 29, 30 ou 31 dias consoante o mês em questão e se o ano é bissexto, o que torna 'somar um mês' uma operação fundamentalmente ambígua nos casos-limite.

A ideia de uma norma universal para medir o tempo é surpreendentemente recente. Antes da introdução dos fusos horários padrão no final do século XIX, cada localidade mantinha a sua própria hora solar local. A expansão dos caminhos de ferro tornou este caos insustentável, um horário que dizia '10:00' significava algo diferente em cada cidade. O Reino Unido adotou uma única hora padrão (a hora do meridiano de Greenwich) em 1847; os Estados Unidos e o Canadá seguiram-se com um sistema de quatro fusos horários ferroviários em 1883. A Conferência Internacional do Meridiano de 1884 normalizou Greenwich como o meridiano de referência, lançando as bases do sistema de tempo coordenado que usamos hoje.

No software, o tratamento de datas é conhecido pelos casos-limite que estragam o código anos depois de ter sido escrito. A marca temporal Unix, que conta segundos desde 1 de janeiro de 1970, vai exceder um inteiro de 32 bits com sinal a 19 de janeiro de 2038, o 'problema do ano 2038', por vezes chamado Y2K38. Os sistemas que ainda funcionam com representações de tempo de 32 bits (dispositivos embebidos, bases de dados antigas, núcleos Linux mais antigos) vão interpretar erradamente esse momento como 13 de dezembro de 1901. A solução é usar marcas temporais de 64 bits, que não excederão o limite durante cerca de 292 mil milhões de anos.

Publicidade
Publicidade
Publicidade