Calculadora de dias entre datas

Calcule o número exato de dias, semanas e dias restantes entre duas datas — instantaneamente, no seu navegador.

Esta página foi traduzida do inglês com a ajuda de IA e conferida com o original. Ler a versão em inglês

  • Grátis — Sem necessidade de cadastro
  • Instantâneo — Os resultados são atualizados enquanto você digita
  • Privado — Processado no seu navegador

Quantos dias há entre uma data e outra? A pergunta parece trivial até você tentar fazer a conta na mão atravessando uma virada de mês, um ano bissexto ou as duas coisas. A calculadora acima recebe duas datas e mostra o intervalo em dias e também em semanas mais os dias que sobram.

Como funciona

Informe uma data inicial e uma data final. A data final vem preenchida com a data de hoje, então o caso mais comum — "quanto tempo faz isso?" — se resolve com um clique. A ferramenta mostra:

  • Dias — o número de dias do intervalo.
  • Semanas e dias — o mesmo número expresso em semanas inteiras mais um resto, que costuma ser mais fácil de visualizar. 45 dias são 6 semanas e 3 dias.

O resultado não depende da ordem: se você trocar as duas datas, recebe o mesmo número positivo, e não um negativo.

Trata-se de um intervalo, medido de meia-noite a meia-noite, então as duas pontas não entram juntas na contagem. Do dia 1º ao dia 8 são 7 dias. Se você precisa da contagem inclusiva — "quantos dias isso cobre, contando o primeiro e o último?" —, some um dia. A diferença importa quando se fala em diárias de hotel versus dias de um congresso, e em prazos de aviso prévio, em que é a redação do contrato que decide qual das duas vale.

Por que a conta é traiçoeira

As datas são interpretadas como meia-noite no horário local, não em UTC. Interpretar 2026-03-15 como um instante UTC e depois lê-lo em um fuso horário a oeste de Greenwich dá o dia 14, e toda uma classe de bugs do tipo "a data está um dia errada" vem exatamente disso. Manter as duas pontas no mesmo referencial local elimina o problema.

O horário de verão é a outra armadilha. Um dia nem sempre tem 86.400 segundos: duas vezes por ano, um deles tem 23 horas e outro tem 25. Por isso, dividir uma diferença bruta em milissegundos por 86.400.000 desvia uma fração de dia quando o intervalo cruza uma mudança de horário, e é por isso que o resultado aqui é arredondado para o dia inteiro mais próximo — é esse arredondamento que faz um intervalo que cruza o horário de verão dar o valor certo em vez de errar por um dia.

Os anos bissextos ficam a cargo do próprio calendário, não de uma regra de bolso. Mesmo assim, vale conhecer a regra: todo ano divisível por 4 é bissexto, exceto os anos de virada de século, exceto os divisíveis por 400. 2000 foi bissexto; 1900 e 2100 não são.

Fazendo isso no código

Não escreva a subtração você mesmo. Toda plataforma de uso corrente tem um tipo só de data que cuida do tamanho dos meses, dos anos bissextos e do horário de verão para você — LocalDate e ChronoUnit.DAYS.between(...) em Java, date em Python, DATEDIFF em SQL. Optional e a API de data e hora explica a diferença entre LocalDate, LocalDateTime e Instant, e por que escolher o tipo errado é a causa raiz da maioria dos bugs com datas.

O armazenamento é a outra metade do problema. Uma coluna timestamp sem fuso horário, alimentada por servidores de aplicação em duas regiões, fica irremediavelmente ambígua; comparar uma coluna só de data com um timestamp força uma conversão implícita que desativa o índice sem nenhum aviso. Boas práticas de SQL mostra como escolher os tipos temporais e escrever predicados de intervalo que o planejador consiga realmente usar.

Ferramentas relacionadas

Para uma contagem regressiva até uma data futura, a ferramenta dias até uma data apresenta o mesmo cálculo como "dias restantes". Para excluir sábados e domingos, use dias úteis — lembre que ela conta as duas pontas e, por isso, no mesmo período mostra um dia a mais no total do que esta ferramenta. Para transformar uma data no rótulo da semana ISO, use número da semana.

Perguntas frequentes

A ordem das duas datas importa?
Não. A calculadora sempre retorna o número absoluto de dias entre as duas datas, independentemente de qual você insira primeiro.
Isso leva em conta os anos bissextos?
Sim. O cálculo usa datas de calendário reais, então os anos bissextos são tratados automaticamente.
A data de início ou de fim é incluída na contagem?
O resultado é o número de dias completos entre as duas datas — por exemplo, de 1 a 2 de janeiro é 1 dia, não 2.