Adicionar dias úteis a uma data
Some ou subtraia dias úteis pulando todos os sábados e domingos: 5 dias úteis depois da segunda-feira, 20 de julho de 2026, caem na segunda-feira, 27 de julho de 2026. O resultado mostra também o dia da semana. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Data
- 2026-07-20
- Dias úteis a adicionar
- 5
- Data
- 2026-07-27
- Base
- 2026-07-20
- Dias úteis
- 5
- Dia da semana
- Monday
Prazos de negócio quase nunca significam dias corridos. Quando um contrato diz cinco dias úteis a partir de segunda-feira, a data de vencimento é a segunda-feira seguinte, não o sábado. Esta capacidade recebe uma única data de calendário ISO e uma contagem inteira de dias úteis, e então avança (ou recua) pulando todos os sábados e domingos. O resultado é uma data ISO precisa mais o nome do dia da semana, para que planejadores, motores de SLA e ferramentas de faturamento confiem na resposta sem abrir uma planilha nem adivinhar peculiaridades de fuso horário local.
O que significam dias úteis aqui
Um dia útil é qualquer segunda a sexta no calendário civil gregoriano. Sábados e domingos são sempre pulados, quer você some dias para a frente, quer subtraia para trás. Feriados públicos ficam de propósito fora de escopo: eles variam por país, região e setor, e embutir uma tabela de feriados numa ferramenta genérica erraria em silêncio para equipes que usam outro calendário.
Se você precisa de faixas com feriados, combine este resultado com sua própria lista de feriados ou use um contador de dias úteis específico do país. A data base é o ponto de partida e não é contada como um dos dias adicionados: de uma segunda, somar um dia útil cai na terça; de uma sexta, somar um cai na segunda seguinte. Zero deixa a data base inalterada mesmo quando essa base cai num fim de semana, o que mantém os cálculos reversos honestos.
Contagens negativas caminham para trás com a mesma regra de fim de semana, então um dia útil antes de uma segunda é a sexta anterior.
Como chamar e ler o resultado
Envie dois campos: date como uma string estrita YYYY-MM-DD, e days como um inteiro (positivo, negativo ou zero). O valor absoluto de days é limitado para que um laço descontrolado não esgote o isolate. Use os campos de dia da semana no texto voltado ao usuário; use a data ISO como sistema de registro.
Como o algoritmo nunca consulta o fuso horário local, uma data que já é meia-noite UTC no seu pipeline permanece um valor de calendário puro e não escorrega um dia quando um servidor roda em outra zona.
Onde se encaixa em fluxos de trabalho reais
Equipes de operações usam deslocamentos em dias úteis para promessas de entrega, SLAs de suporte e prazos contratuais de aviso prévio. Equipes financeiras calculam janelas de pagamento que excluem fins de semana. Equipes de produto e marketing agendam portões de lançamento, levantamentos de embargo e calendários de conteúdo sem cair no sábado.
O caminho do navegador é gratuito para verificações interativas: cole uma data inicial, digite cinco e confirme o dia de chegada antes de fixá-lo no código. Combine a saída com suas próprias tabelas de feriados quando uma região observa feriados no meio da semana; esta ferramenta continua sendo o filtro confiável de fim de semana por baixo.
Casos de uso
Prazos de SLA e suporte
Transforme um chamado criado na quinta-feira numa data de vencimento cinco dias úteis depois sem cair no fim de semana.
Prazos de contrato e aviso prévio
Calcule o último dia útil para avisos, renovações e janelas de entrega a partir de uma data inicial ISO assinada.
Janelas de pagamento e faturamento
Some dias úteis líquidos a uma data de fatura para que os sistemas financeiros liquidem apenas em dias de semana.
Perguntas frequentes
Quanto custa?
O mesmo cálculo roda grátis no seu navegador nesta página.
Feriados públicos são pulados?
Não. Apenas sábados e domingos são pulados. Aplique sua própria lista de feriados se uma região precisar.
O que acontece se a data base for um fim de semana?
Com days zero, a data de fim de semana é retornada inalterada. Com uma contagem positiva ou negativa, a caminhada parte desse fim de semana e só para num dia de semana após o número solicitado de dias úteis.
Posso subtrair dias úteis?
Sim. Passe um inteiro negativo em days para andar para trás enquanto ainda pula os fins de semana.
Por que minha data foi rejeitada?
A data precisa ser um dia real do calendário gregoriano na forma estrita YYYY-MM-DD.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/date/add-workdays \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-20","days":5}'const res = await fetch("https://api.kit.forhosting.com/date/add-workdays", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-20",
"days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/add-workdays",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-20",
"days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/add-workdays", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-20","days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-20","days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/add-workdays", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"date": "2026-07-20",
"days": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.add_workdays",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_workdays | 10000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como chamar e ler o resultado
Apelidos como base/start para a data e workdays/n/count para o inteiro são aceitos, para que formulários existentes mapeiem sem atrito. Datas de calendário inválidas falham de imediato com invalid_input: 2026-02-30, 2026-13-01 e strings de forma livre são rejeitadas em vez de coagidas. Uma resposta bem-sucedida retorna a data resultante, a base original, os dias úteis com sinal aplicados, o nome do dia da semana em inglês, o número ISO do dia da semana (segunda igual a um até domingo igual a sete) e um booleano is_weekend que deve ser sempre falso após um movimento diferente de zero que só para em dias de semana.
Onde se encaixa em fluxos de trabalho reais
Desenvolvedores embutem a mesma chamada em webhooks e jobs CRON, para que todo serviço compartilhe uma única definição de próximo dia útil em vez de reimplementar laços improvisados que discordam nos casos de borda. O caminho da API custa US$ 0,002 por requisição bem-sucedida e é cobrado por item, o que mantém baratos os scripts de planejamento em massa cobrindo ainda a execução na borda.