Educacional
    Atualizado

    Contador de dias entre datas: calcular prazos e dias úteis

    Aprenda a calcular diferença de dias entre duas datas, contar dias úteis e prazos incluindo ou excluindo feriados. Passo a passo prático e exemplos.

    Equipe Ferramentas Para Tudo26 de junho de 202612 min de leitura

    Introdução

    Calcular a diferença de dias entre duas datas é simplesmente subtrair uma data da outra e contar quantos dias separam esses dois pontos. Isso serve para prazos legais, controle de projetos, férias e relatórios. Se você precisa de um resultado imediato, use nosso contador de dias em /ferramentas/contador-dias para obter a resposta e ajustar feriados.

    O que significa "diferença de dias" e quando usar

    Diferença total de dias: número de dias corridos entre data A e data B, incluindo fins de semana.

    Dias úteis: dias corridos excluindo sábados e domingos, e opcionalmente feriados.

    Prazos processuais e contratuais: muitos prazos dizem "dias úteis" ou especificam regras diferentes, por isso é importante confirmar a definição do prazo antes de contar.

    Como calcular diferença total de dias entre duas datas

    Método simples, ideal quando você quer apenas saber quantos dias se passaram.

    Passos:

  1. Converter as duas datas para um formato de data válido (ano, mês, dia).
  2. Subtrair a data inicial da data final em unidades de dias.
  3. Se quiser incluir a data inicial, some 1 ao resultado, caso contrário use o resultado direto.
  4. Exemplo prático:

    • Data inicial: 05/03/2024
    • Data final: 20/03/2024

    Cálculo: 20/03/2024 menos 05/03/2024 = 15 dias

    Observação sobre contagem inclusiva: alguns contratos contam o primeiro dia como dia 1. Se esse for o caso, resultado passa a ser 16 dias.

    Como contar dias úteis (excluindo fins de semana)

    Contar dias úteis exige que você descarte sábados e domingos entre as duas datas. Existem três abordagens comuns.

    Lista das três abordagens principais:

  5. Iterativa, dia a dia, simples e precisa para intervalos curtos.
  6. Fórmula combinada usando aritmética de semanas para intervalos longos.
  7. Uso de bibliotecas prontas que consideram calendários e localidade.
  8. Método iterativo (bom para intervalos pequenos)

  9. Comece na data inicial.
  10. Para cada dia até a data final, verifique se é sábado ou domingo.
  11. Conte somente os dias que não forem fim de semana.
  12. Exemplo:

    • Data inicial: 01/04/2024 (segunda)
    • Data final: 10/04/2024 (quarta)

    Dias no intervalo: 10 dias corridos.

    Dias de fim de semana no intervalo: 2 (06/04 e 07/04).

    Dias úteis = 10 menos 2 = 8 dias úteis.

    Método por semanas (ideal para intervalos longos)

  13. Conte semanas inteiras entre as datas: cada semana inteira tem 5 dias úteis.
  14. Some os dias úteis restantes no início e no fim do intervalo verificando os dias da semana.
  15. Fórmula rápida:

    • totalDias = diferença em dias entre as datas
    • semanasInteiras = floor(totalDias / 7)
    • diasRestantes = totalDias mod 7
    • diasUteis = semanasInteiras * 5 + ajustePorDiasRestantes

    O ajustePorDiasRestantes depende do dia da semana da data inicial e se o bloco de diasRestantes cobre fins de semana.

    Como lidar com feriados e prazos legais

    Feriados podem reduzir o número de dias úteis. Há duas opções práticas:

  16. Lista fixa de feriados nacionais e estaduais: você passa por cada data do intervalo e subtrai se a data for um feriado listado. Esse método é obrigatório quando o prazo depende de feriados estaduais ou municipais.
  17. Consulta a um serviço ou biblioteca que já contenha feriados por localidade. Isso é útil para automações e prazos em grande escala.
  18. Regra para prazos legais (resumo):

    • Verifique se a lei ou contrato especifica "dias corridos" ou "dias úteis".
    • Para prazos processuais, consulte o regimento aplicável, porque procedimentos podem ter regrinhas próprias sobre contar o primeiro dia ou prorrogação por feriado.

    Exemplo com feriados:

    Suponha intervalo de 22/11/2024 a 03/12/2024 e que 20/11/2024 foi feriado local já passado. No intervalo, há 12 dias corridos. Se houver 1 feriado em 25/11/2024 e um fim de semana, ajuste para remover 1 feriado e os 2 sábados/domingos correspondentes.

    Exemplos práticos: 3 cenários com números

    Cenário 1: diferença total simples

    • Data A: 10/02/2023
    • Data B: 25/02/2023

    Resultado: 15 dias corridos.

    Cenário 2: dias úteis entre datas (sem feriados)

    • Data A: 01/07/2024 (segunda)
    • Data B: 14/07/2024 (domingo)

    Total corrido: 13 dias

    Fins de semana no período: 2 sábados e 2 domingos? Na prática serão 2 sábados e 2 domingos se houver 2 semanas completas. Para esse intervalo, sábados e domingos totalizam 4 dias.

    Dias úteis = 13 menos 4 = 9 dias úteis.

    Cenário 3: prazo de 10 dias úteis a partir de uma data, com feriados

    • Início: 20/11/2024
    • Feriados no mês: 20/11/2024 é feriado local, 15/11 é anterior

    Como calcular:

  19. Comece no dia seguinte ao início se o contrato não conta o dia inicial.
  20. Conte dias úteis ignorando sábados e domingos.
  21. Quando chegar a 10 dias úteis, verifique se o dia final é feriado, se for, adicione mais um dia útil.
  22. Resultado: contando manualmente chega-se a data final que atende 10 dias úteis, considerando o feriado no caminho.

    Algoritmo e código de referência

    Abaixo um pseudocódigo e um exemplo em JavaScript usando lógica simples. Ajuste para sua linguagem preferida.

    Pseudocódigo (contar dias úteis excluindo feriados):

    ``

    function contarDiasUteis(dataInicio, dataFim, listaFeriados) {

    contar = 0

    d = dataInicio

    while d <= dataFim {

    if d.diaSemana not in [sábado, domingo] and d not in listaFeriados {

    contar = contar + 1

    }

    d = d + 1 dia

    }

    return contar

    }

    `

    Exemplo em JavaScript com date-fns (conceitual):

    `

    import { eachDayOfInterval, isWeekend } from 'date-fns'

    function contarDiasUteis(start, end, feriados) {

    const dias = eachDayOfInterval({ start, end })

    return dias.filter(d => !isWeekend(d) && !feriados.includes(d.toISOString().slice(0,10))).length

    }

    ``

    Dicas de implementação e desempenho

    • Para intervalos longos, evite iteração dia a dia; prefira a técnica por semanas e ajuste final.
    • Mantenha lista de feriados em formato ISO e atualize anualmente.
    • Teste com datas-limite como anos bissextos e mudança de horário de verão somente quando relevante para horas, não para dias.

    Tabela comparativa: métodos comuns

    MétodoVantagemQuando usar
    ------:---
    Iterativo dia a diaSimples e à prova de errosIntervalos curtos, validação manual
    Fórmula por semanasRápidoIntervalos longos sem muitos feriados
    Biblioteca prontaConfiável e com suporte a feriadosAutomação e aplicações críticas

    Citação rápida

    Contar prazos é menos sobre matemática e mais sobre regras: confirme sempre se o prazo é em dias corridos ou dias úteis.

    Boas práticas ao aplicar em casos reais

    • Confirme a regra contratual sobre inclusão da data inicial.
    • Para prazos legais, consulte a legislação aplicável e, em caso de dúvida, um profissional jurídico.
    • Documente a lista de feriados usados no cálculo para auditoria.

    Checklist rápido antes de comunicar um prazo

  23. O prazo é em dias corridos ou úteis?
  24. Contamos o dia inicial como dia 1?
  25. Existem feriados locais que interrompem o prazo?
  26. Há disposições especiais para prorrogação por cair em fim de semana?
  27. Ferramenta recomendada

    Se você quer o resultado agora, use nosso contador automático de dias em /ferramentas/contador-dias. A ferramenta aceita datas, opção por contar dia inicial, e lista de feriados para aplicar no cálculo. Para automações, exporte o resultado ou integre via API se disponível.

    Conclusão e próximos passos

    Saber calcular a diferença de dias entre datas e contar dias úteis é essencial para prazos contratuais e gestão. Se precisa do cálculo pronto, use nosso contador de dias em /ferramentas/contador-dias e confirme feriados locais antes de fechar um prazo.

    Perguntas frequentes

    Como calcular dias úteis entre duas datas incluindo feriados?

    Para incluir feriados, some a lógica de exclusão de fins de semana com uma lista de feriados aplicáveis. Remova do total os dias que coincidirem com itens dessa lista. Em implementações automáticas, mantenha a lista de feriados atualizada por ano e por localidade.

    O dia inicial conta no cálculo da diferença de dias?

    Depende da regra: por convenção matemática simples, a diferença é dataFim menos dataInicio, sem contar a data inicial. Muitos contratos pedem contagem inclusiva, então confirme se deve somar 1 ao resultado.

    Como calcular prazo de 10 dias úteis a partir de uma data?

    Comece no dia seguinte à data inicial quando o contrato não contar o primeiro dia. Conte somente dias que não sejam sábado, domingo ou feriado. Quando atingir 10 dias úteis, essa é a data final. Se a data final cair em feriado, avance até o próximo dia útil.

    Quais ferramentas online ajudam a contar dias entre datas?

    Nossa recomendação é usar o contador de dias em /ferramentas/contador-dias, que tem opções para dias corridos, dias úteis e inclusão de feriados. Bibliotecas de programação como date-fns e moment também ajudam em soluções customizadas.

    Referências

    • IBGE, conceitos e prática de séries temporais, 2022. https://www.ibge.gov.br
    • Conselho Nacional de Justiça, manual de prazos processuais, 2021. https://www.cnj.jus.br
    • date-fns, biblioteca para manipulação de datas, 2024. https://date-fns.org