Calculadora de Dias Úteis
Calcula os dias úteis dentro de um intervalo de datas
Cálculo de Dias Úteis
O que é uma Calculadora de Dias Úteis?
Uma calculadora de dias úteis conta quantos dias de trabalho aproveitáveis existem em um intervalo de datas depois de remover fins de semana e uma quantidade informada de feriados. Ela ajuda em estimativas de entrega, planejamento de férias, folha de pagamento, ciclos de cobrança, processos de contratação e cronogramas de projeto quando os dias corridos são amplos demais. Dia útil não é igual a dia de calendário: fins de semana sábado-domingo ou sexta-sábado, feriados regionais, recesso da empresa e dias de compensação podem alterar o resultado. A ferramenta oferece uma estimativa rápida com base no padrão de fim de semana e nos feriados digitados. Para RH, contratos ou uso legal, confirme no calendário oficial.
Como usar
Como usar
- Insira a data de início e a data final
- Selecione a opção de exclusão de fim de semana (Sáb-Dom / Sex-Sáb / Nenhuma)
- Insira a quantidade de feriados (opcional)
- Clique em 'Calculate workdays' para ver os resultados
Premissas do calendário
- Defina as regras de fim de semana antes de calcular. Calendários de sexta-sábado, sábado-domingo e sem fim de semana produzem totais diferentes.
- Feriados públicos e dias de recesso da empresa devem ser informados separadamente, caso precisem ser excluídos.
Casos de uso
Princípio técnico
A contagem de dias úteis é o número de dias corridos no intervalo inclusivo `[início, fim]` que não são dias de fim de semana nem feriados. A fórmula padrão de extremidade inclusiva é `total_dias = (fim - início) / 86_400_000 + 1` quando ambos os limites são normalizados para meia-noite UTC, depois os dias de fim de semana e feriados são subtraídos. O dia da semana vem de `Date.prototype.getDay()` que retorna `0` para domingo até `6` para sábado — note a armadilha de índice de que `getDay()` não é `getDate()` e que o resultado está no fuso horário local do navegador, então uma string de data UTC que cruza a meia-noite pode cair em um dia da semana diferente do esperado. O padrão de fim de semana varia por região: o padrão global é sábado-domingo (Ocidental, Índia, maior parte da Ásia), mas o Oriente Médio historicamente usou quinta-sexta e, desde 2024, a maioria dos países do Golfo (EAU, Bahrein, Kuwait, Catar) alinhou para sexta-sábado ou mesmo sábado-domingo com meia sexta-feira. Irã, Afeganistão e partes do Sul da Ásia ainda observam apenas sexta-feira; Israel observa sexta-sábado. A ferramenta expõe Sáb-Dom, Sex-Sáb e "nenhum" como as três predefinições comuns, e deixa a contagem de feriados cobrir todo o resto por subtração. O algoritmo de contagem em si tem duas implementações práticas. A iteração ingênua caminha um dia de cada vez: `for (let d = início; d <= fim; d.setDate(d.getDate()+1)) if (![0,6].includes(d.getDay())) count++`. Isso é O(n) em dias corridos e trivial de ler. A alternativa de forma fechada calcula `semanas_completas * 5 + dias_úteis_semana_parcial` e roda em O(1), o que importa para intervalos de muitos anos. Feriados que caem em fins de semana não devem ser subtraídos duas vezes, então o padrão canônico é filtrar o conjunto de feriados com `feriados.filter(h => !éFimDeSemana(h)).length`. A política de 调休 (dias de compensação) da China adiciona uma complexidade que a lógica pura de padrão de fim de semana não consegue representar: o Conselho de Estado publica anualmente uma lista que converte sábados ou domingos específicos em dias úteis para compensar recessos estendidos do Ano Novo Chinês ou do Dia Nacional, então para calendários chineses a lista de feriados deve ser acompanhada de uma lista explícita de "dias úteis de compensação" em vez de depender apenas da regra do dia da semana.
- Fórmula de intervalo inclusivo: `total_dias = (fim - início) / 86_400_000 + 1` com ambas as datas normalizadas para meia-noite UTC para evitar desvio de horário de verão.
- `Date.prototype.getDay()` retorna 0 (Dom) até 6 (Sáb) no fuso horário local do navegador — não UTC, então código sensível a fuso deve usar `getUTCDay()`.
- Predefinições de fim de semana: Sáb-Dom (Ocidental, Índia, maior parte da Ásia), Sex-Sáb (maioria dos estados do Golfo desde 2006-2013), apenas Sex (Irã), nenhum (operação 24/7).
- Forma fechada O(1): `semanas_completas * 5 + dias_úteis_extras_na_semana_parcial`; preferível à iteração dia a dia para intervalos de múltiplos anos.
- Feriados que caem em fins de semana não devem ser contados duas vezes: subtraia `feriados.filter(h => !éFimDeSemana(h)).length`, não a contagem bruta de feriados.
- 调休 do Conselho de Estado da China: certos sábados/domingos se tornam dias úteis legais para compensar recessos estendidos; requer uma lista explícita de dias de compensação.
- Feriados federais dos EUA (conforme 5 U.S.C. § 6103) somam 11 dias úteis por ano civil: Ano Novo, MLK, Presidentes, Memorial, Juneteenth, Independência, Trabalho, Columbus, Veteranos, Ação de Graças, Natal.
Exemplos
Dias úteis no ano civil de 2026
Data inicial: 2026-01-01
Data final: 2026-12-31
Fim de semana: sábado e domingo
Feriados: 13 (feriados oficiais da China após o ajuste 调休)
Total de dias: 365
Dias de fim de semana: 104
Feriados: 13
Dias úteis: 248Capacidade de um sprint de duas semanas
Data inicial: 2026-06-15 (segunda-feira)
Data final: 2026-06-26 (sexta-feira)
Fim de semana: sábado e domingo
Feriados: 0
Total de dias: 12
Dias de fim de semana: 2
Dias úteis: 10 (sprint completo de duas semanas, 4 devs => capacidade de 40 dias úteis)Equipe do Oriente Médio com fim de semana sexta-sábado
Data inicial: 2026-09-01
Data final: 2026-09-30
Fim de semana: sexta e sábado
Feriados: 1 (feriado regional)
Total de dias: 30
Dias de fim de semana: 8 (sextas + sábados em setembro)
Dias úteis: 21Janela de onboarding após feriado nacional
Data inicial: 2026-10-08 (primeiro dia útil após a Golden Week)
Data final: 2026-10-30
Fim de semana: sábado e domingo
Feriados: 0
Total de dias: 23
Dias de fim de semana: 6
Dias úteis: 17 (tempo suficiente para um plano de onboarding de 3 semanas)Planejamento do Q1 2027 com feriados federais dos EUA
Data inicial: 2027-01-01
Data final: 2027-03-31
Fim de semana: sábado e domingo
Feriados: 4 (Ano Novo, MLK Day, Presidents Day, Sexta-feira Santa)
Total de dias: 90
Dias de fim de semana: 26
Dias úteis: 60Perguntas frequentes
Como os dias úteis são contados?
De segunda a sexta são contados por padrão; sábado e domingo são pulados. Os feriados que você informa na lista também são excluídos. A página mostra o total de dias corridos, fins de semana, feriados e o resultado de dias úteis.
Os feriados nacionais são aplicados automaticamente?
Não. A calculadora não carrega feriados nacionais automaticamente. Você precisa informar a quantidade de feriados manualmente. Consulte o calendário oficial do seu país para obter os números corretos.
Ele lida com dias de compensação (调休)?
Não. A calculadora exclui apenas os fins de semana e a quantidade de feriados que você informar. Ela não lida automaticamente com o 调休 (deslocamento de dia útil) da China nem com políticas semelhantes. Ajuste a regra de fim de semana ou a quantidade de feriados manualmente se sua agenda incluir dias de compensação.
Posso excluir só os fins de semana, sem os feriados?
Sim. Desative a lista de feriados e o cálculo passa a excluir apenas sábado e domingo. Você também pode personalizar quais dias da semana são considerados fim de semana — algumas agendas no Oriente Médio têm sexta e sábado como fim de semana.
Qual é a diferença entre esta ferramenta e a Diferença entre Datas?
A Diferença entre Datas retorna dias corridos. Esta ferramenta retorna dias úteis, pulando fins de semana e feriados. Use esta para prazos de projeto, datas contratuais e janelas de SLA; use a Diferença entre Datas para tempo decorrido bruto.
Funciona com datas no passado?
Sim. Calcula dias úteis entre quaisquer duas datas, no passado ou no futuro. Informe a data inicial e a final, escolha as regras de fim de semana e a quantidade de feriados — a página então calcula o total de dias úteis no intervalo.
Meus dados são enviados para o servidor?
Não. O cálculo é feito no seu navegador. Quantidades de feriados e datas não são salvas nem transmitidas.