Adicionar ou subtrair dias a uma data: como funciona
O que é somar dias a uma data
Adicionar dias a uma data é responder à pergunta: “se hoje for 12 de Março de 2026, que data é daqui a 45 dias?”. Parece trivial mas envolve conhecer o número de dias de cada mês, saber se o ano é bissexto e — sobretudo — decidir se conta em dias corridos (todos os dias do calendário) ou em dias úteis (só de segunda a sexta, excluindo feriados).
A operação inversa é subtrair dias, útil para calcular a data-limite retroactivamente. Por exemplo: “se um documento tem de dar entrada 30 dias antes de 15 de Junho, quando é o último dia para enviar?”. A resposta muda substancialmente se forem dias corridos ou úteis.
Em contextos jurídicos, comerciais e laborais em Portugal, esta distinção é decisiva. Um contrato que diga “no prazo de 15 dias” refere-se normalmente a dias de calendário; se disser “15 dias úteis”, excluem-se sábados, domingos e feriados.
Como se calcula
O método simples para dias corridos é somar directamente:
data_final = data_inicial + n dias
Para dias úteis, o algoritmo é iterativo:
1. Começa em data_inicial
2. Para cada dia, avança 1 no calendário
3. Se for sábado, domingo ou feriado, não conta
4. Caso contrário, decrementa 1 no contador
5. Pára quando o contador chega a zero
Uma optimização: blocos_semana = n // 5 avança blocos de 7 dias corridos, e trata os n % 5 dias restantes um a um, subtraindo feriados. Poupa iterações em prazos longos.
Meses variam entre 28 e 31 dias e Fevereiro tem 29 nos anos bissextos (2024, 2028, 2032). Se somar dias fizer atravessar um 29 de Fevereiro, o algoritmo tem de reconhecer o ano bissexto para não desviar um dia.
Exemplo prático em Portugal
Assinaste hoje, 20 de Agosto de 2026 (uma quinta-feira), um contrato-promessa de compra e venda com escritura marcada para 60 dias depois. Em dias corridos: 20 de Agosto + 60 dias = 19 de Outubro de 2026 (segunda-feira). Simples.
Agora imagina que o prazo é de 30 dias úteis para exercer o direito de arrependimento numa compra ao domicílio. A partir de 20 de Agosto, contando só segundas a sextas e descontando o feriado de 5 de Outubro (segunda), chegas ao dia útil 30 a 2 de Outubro de 2026 (aproximadamente — usa a ferramenta adicionar dias para exactidão).
Para prazos de contestação em tribunal, o Código de Processo Civil (art. 138.º) manda contar em dias seguidos mas com regras especiais: o prazo inicia-se no dia seguinte ao da notificação, e se terminar num dia em que os tribunais estejam encerrados, transfere-se para o primeiro dia útil seguinte.
Quando usar
Usa esta operação sempre que precisares de calcular uma data futura ou passada com precisão. Casos típicos:
- Datas de escritura — contrato-promessa com prazo em dias corridos.
- Prazos de garantia — a garantia legal de bens de consumo (Decreto-Lei n.º 84/2021) é de 3 anos, mas prazos de reclamação são em meses.
- Vencimento de facturas — “pagamento a 30 dias” costuma significar 30 dias de calendário.
- Renovação de documentos — Cartão de Cidadão expira num dia certo; para saber se já está no prazo de renovação (150 dias antes), subtrai dias.
- Períodos de nojo — no direito do trabalho, o luto por familiar directo confere 5 dias úteis consecutivos (Código do Trabalho, art. 251.º).
Erros comuns
Confundir dias com meses. “3 meses” e “90 dias” não são iguais. Fevereiro tem 28 dias; três meses a partir de 15 de Novembro são 15 de Fevereiro (92 dias corridos).
Esquecer feriados no cálculo de dias úteis. Um algoritmo que só descarta sábados e domingos dá um resultado errado se o intervalo apanhar 25 de Abril, 10 de Junho ou Natal. Ver feriados de Portugal.
Contar o dia de início. A maioria das normas jurídicas manda contar a partir do dia seguinte ao facto que despoleta o prazo. “Dez dias a partir de amanhã” é a regra habitual do Código Civil e do CPC.
Ignorar férias judiciais. Em processo civil, os prazos correm continuamente mas suspendem-se durante férias judiciais (16 de Julho a 31 de Agosto, entre outros períodos). Não são “dias úteis” comuns.
Assumir que ano bissexto atrasa tudo. Só afecta cálculos que atravessem 29 de Fevereiro. Se somares 100 dias a 1 de Janeiro, o ano bissexto muda a data final em 1 dia.
Ver também
- Dias entre datas — intervalo entre duas datas.
- Dias úteis — só de segunda a sexta e excluindo feriados.
- Contagem decrescente — dias até um evento futuro.