Calculadora de dias úteis

Calcule o número de dias úteis (segunda a sexta) entre duas datas, excluindo fins de semana — 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

Dias corridos e dias úteis são moedas diferentes, e o planejamento desanda sem ninguém perceber quando alguém converte um no outro a olho. "Dez dias" que atravessam dois fins de semana são seis dias úteis. A ferramenta acima conta os dias de semana entre duas datas para que você não precise fazer isso.

Como funciona

Escolha uma data inicial e uma data final. A ferramenta percorre o intervalo um dia de cada vez e mostra três números: a quantidade de dias úteis, a quantidade de dias de fim de semana e o total de dias do intervalo.

Dois comportamentos merecem ser explicitados, porque são justamente os que pegam as pessoas de surpresa:

  • As duas pontas são contadas. De segunda a sexta da mesma semana são cinco dias úteis, não quatro. É assim que normalmente se lê um prazo de entrega ou um aviso prévio: "cinco dias úteis a partir de segunda" termina na sexta.
  • A ordem não importa. Se você informar a data final antes da inicial, a ferramenta inverte as duas e mostra os mesmos valores positivos, em vez de um número negativo.

As datas são interpretadas como meia-noite no horário local, e não em UTC, então um intervalo nunca se desloca um dia dependendo de que lado da linha internacional de data sua máquina está. Esse erro de um dia é, de longe, o bug mais comum em aritmética de datas caseira, e evitá-lo é o motivo de o parsing ser propositalmente rígido quanto ao formato YYYY-MM-DD que o seletor de data gera.

O que ela não sabe

Feriados. A ferramenta trata sábados e domingos como dias não úteis e todos os outros como úteis. Ela não tem calendário de feriados, e isso é proposital: feriados são nacionais, regionais e às vezes específicos de cada empresa, e uma lista embutida que esteja errada para o seu país é pior do que lista nenhuma. Desconte você mesmo os feriados do resultado: se três dos dias de semana no intervalo forem feriados onde o trabalho acontece, a contagem de dias úteis cai em três.

Semanas fora do padrão. Fins de semana de sexta a sábado, semanas de quatro dias e escalas de turno são comuns, e nenhum deles é modelado aqui. Se a sua semana não vai de segunda a sexta, use o total de dias e aplique a sua própria proporção.

Frações de dia e fusos horários. A unidade é um dia corrido inteiro no seu fuso horário local. Um SLA entre países medido em horas úteis exige um cálculo em horas no fuso do destinatário, o que é um problema bem mais difícil.

Onde esse número é usado

A contagem de dias úteis está por trás da maior parte da aritmética de cronogramas e contratos: avisos prévios, prazos de pagamento, janelas de resposta de SLA, prazos de obrigações regulatórias e capacidade de sprint. Sair de uma estimativa em dias úteis para uma data no calendário do plano, e voltar, é exatamente a conversão que faz um cronograma atrasar antes de qualquer trabalho dar errado. Gerenciamento do cronograma aborda durações, dependências, defasagens e o caminho crítico, e estimativa e planejamento explica por que estimativas dadas em dias úteis ideais precisam de um fator explícito antes de virarem datas com as quais alguém deveria se comprometer.

No código, resista à tentação de escrever esse loop você mesmo. Bibliotecas de datas modernas modelam essa distinção corretamente: java.time tem LocalDate, DayOfWeek e TemporalAdjusters.next(...), e toda linguagem popular tem um equivalente. Elas já lidam com anos bissextos, tamanhos de mês e mudanças de horário de verão. Optional e a API de data e hora apresenta esses tipos e quando usar cada um.

Para a diferença simples em dias corridos, sem o filtro de dias de semana, a ferramenta certa é dias entre datas. Observe que ela mede o intervalo e, por isso, mostra um dia a menos do que esta ferramenta para o mesmo período. Para identificar uma data pela semana ISO, use a ferramenta número da semana.

Perguntas frequentes

Isso exclui os feriados?
Não — exclui apenas os fins de semana (sábado e domingo). Os feriados variam de país para país, então subtraia manualmente do resultado os feriados que você conhece.
A data de início e a data de fim são ambas contadas?
Sim — a contagem inclui tanto a data de início quanto a data de fim.
Meus dados são enviados para algum lugar?
Não. O cálculo acontece totalmente no seu navegador.