MiServe DevTools

Os seus autocolantes

Fixe aqui as ferramentas. Ficam guardadas neste navegador.

Calculadora de datas

Conte o tempo entre duas datas, ou some e subtraia anos, meses, semanas e dias a uma data.

Início
Fim

Anos, meses e dias
Total de dias
Semanas e dias
Total de horas
Dias úteis (de segunda a sexta)
Data de início
Data de fim

Funciona no seu navegador. Nada do que cola é enviado.

Sobre esta ferramenta

Como a diferença é contada

Total de dias é o número exato de dias desde o início até ao fim. A data de fim não é contada, por isso de segunda a sexta-feira da mesma semana são quatro dias. Anos, meses e dias exprime o mesmo intervalo em unidades de calendário: o maior número de meses completos que cabe entre as duas datas e, depois, os dias que sobram.

Dias úteis conta as segundas a sextas-feiras desse intervalo, também sem a data de fim. Os feriados são diferentes em cada país e região, por isso não são descontados.

A regra do fim do mês

Os meses têm durações diferentes, por isso somar um mês exige uma regra para as datas que não existem no mês alcançado. Esta ferramenta mantém o dia do mês sempre que pode e, caso contrário, fica no último dia do mês: 31 de janeiro mais um mês é 28 de fevereiro, ou 29 de fevereiro num ano bissexto. A página avisa sempre que esta regra é aplicada.

Uma consequência é que a aritmética de meses nem sempre pode ser desfeita. 31 de janeiro mais um mês é 28 de fevereiro, mas 28 de fevereiro menos um mês é 28 de janeiro. Pela mesma razão, a ordem dos passos importa: os anos e os meses são aplicados primeiro, num único passo, e as semanas e os dias são somados depois.

Um ano é bissexto quando é divisível por 4, exceto os anos de fim de século, que têm de ser divisíveis por 400. Por isso, 2000 teve um 29 de fevereiro e 1900 não.

Dias de calendário, não hora local

Um dia local nem sempre tem 24 horas. Nos dias em que os relógios mudam por causa da hora de verão, tem normalmente 23 ou 25 horas, e um cálculo que subtrai dois timestamps locais e divide por 24 horas pode dar um dia a menos. Esta ferramenta faz toda a aritmética com datas de calendário em UTC, que o JavaScript conta como tendo exatamente 24 horas cada, por isso uma mudança de hora nunca afeta o resultado. Uma hora que introduza é tratada como uma simples leitura de relógio, sem fuso horário.

O número da semana segue a ISO 8601: as semanas começam à segunda-feira e a semana 1 é a que contém a primeira quinta-feira do ano. Por isso, os primeiros dias de janeiro podem pertencer à última semana do ano anterior. Por exemplo, 1 de janeiro de 2027 está na semana 53 de 2026.

Perguntas

O número de dias inclui a data de fim?

Não. A contagem vai da data de início até à data de fim, sem a incluir, por isso de 1 de março a 2 de março é um dia. Se precisar de contar as duas datas, some um ao total.

Porque é que um mês depois de 31 de janeiro é 28 de fevereiro?

Fevereiro não tem dia 31, por isso o resultado fica no último dia do mês. Num ano bissexto, é 29 de fevereiro. O PostgreSQL, o MySQL e o java.time do Java aplicam a mesma regra quando um dia não existe no mês alcançado.

Os feriados são excluídos dos dias úteis?

Não. Os dias úteis são as segundas a sextas-feiras do intervalo. Os feriados dependem do país, da região e do ano, por isso subtraia os que se aplicam ao seu caso.

As datas que introduzo são enviadas para algum lado?

Não. O cálculo é feito por JavaScript no separador do seu navegador e as datas não são guardadas. Só a sua escolha entre os dois modos de cálculo fica guardada neste navegador.

Mais ferramentas de Tempo