Subtrair semanas de uma data
Digite uma data e um número de semanas e receba a data anterior exata: 18 de março de 2024 menos 3 semanas (21 dias) dá 26 de fevereiro. Cada semana tem sete dias, então o dia da semana não muda. 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
- 2024-03-18
- Semanas
- 3
- Resultado
- 2024-02-26
- Dias subtraídos
- 21
- Ano
- 2.024
- Mês
- 2
Esta calculadora subtrai semanas de uma data gregoriana explícita no formato rigoroso YYYY-MM-DD e retorna a data anterior exata. Cada semana representa sete dias corridos consecutivos; assim, o dia da semana é preservado e as mudanças de mês, ano e dia bissexto são tratadas corretamente.
O que significa subtrair semanas inteiras
Subtrair uma semana significa recuar exatamente sete dias corridos a partir da data informada; duas semanas equivalem a catorze dias e zero mantém a data original. O resultado cai no mesmo dia da semana, mesmo ao atravessar meses, anos ou 29 de fevereiro. Fins de semana, feriados e recessos contam normalmente.
Informe ano com quatro dígitos, mês e dia com dois, separados por hífens, e um número inteiro não negativo de semanas. Datas impossíveis, valores decimais ou negativos e resultados anteriores a 0001 são recusados. A entrada nunca vira timestamp; portanto, horário de verão e diferenças de fuso não deslocam o resultado.
Como funciona o algoritmo determinístico
Primeiro, o mecanismo confere a sintaxe YYYY-MM-DD e a duração real do mês gregoriano. Fevereiro tem vinte e nove dias nos anos divisíveis por quatro, exceto séculos não divisíveis por quatrocentos. Depois, valida weeks e multiplica o valor por sete com aritmética inteira segura.
Em vez de criar Date, transforma ano, mês e dia em um número serial do calendário gregoriano proléptico, subtrai o total e faz a conversão inversa.
Usos práticos e limites importantes
Use a subtração quando a regra for realmente expressa em blocos de sete dias: início de um programa de doze semanas, data oito semanas antes de um lançamento ou janela semanal estável. Ela é particularmente útil quando manter o dia da semana faz parte do requisito. A ferramenta não calcula semanas úteis, não pula feriados, não interpreta frases como próxima sexta-feira, não converte timestamps e não presume hoje como base.
Meses, trimestres, dias úteis ou durações ligadas a fuso exigem outra calculadora.
Casos de uso
Planejar um programa semanal
Encontre o início um número inteiro de semanas antes de um evento fixo, preservando o dia da semana.
Montar janelas de relatório
Calcule um limite anterior estável para relatórios e coortes definidos em períodos exatos de sete dias.
Criar dados de teste de calendário
Gere datas esperadas reproduzíveis através de meses, anos e dias bissextos sem consultar o relógio do sistema.
Perguntas frequentes
Quantos dias há em cada semana subtraída?
Exatamente sete dias corridos consecutivos, incluindo fins de semana e feriados.
A data final mantém o mesmo dia da semana?
Sim. Subtrair qualquer múltiplo inteiro de sete dias preserva o dia semanal gregoriano.
Ela usa a data de hoje ou meu fuso horário?
Não. Você informa explicitamente a data-base, e o cálculo não usa hora atual nem dados de fuso.
Quais entradas são recusadas?
Datas inválidas, semanas negativas ou fracionárias, contagens acima do limite e resultados fora dos anos 0001 a 9999 são recusados.
Sábados, domingos e feriados entram na conta?
Entram. É aritmética de calendário: fins de semana, feriados e recessos contam como dias comuns. Cada semana subtraída equivale a sete dias seguidos, sem exceção.
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/subtract-weeks \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-18","weeks":3}'const res = await fetch("https://api.kit.forhosting.com/date/subtract-weeks", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-18",
"weeks": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/subtract-weeks",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-18",
"weeks": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/subtract-weeks", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-18","weeks":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-18","weeks":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/subtract-weeks", 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": "2024-03-18",
"weeks": 3
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.subtract_weeks",
"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
year_min | 1 |
year_max | 9999 |
weeks_min | 0 |
weeks_max | 521775 |
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
Você pode executá-lo no navegador ou usar a API por US$ 0,002 por solicitação bem-sucedida quando precisar de resultados reproduzíveis.
O que significa subtrair semanas inteiras
A resposta inclui a data normalizada, weeks, days_subtracted, result e os campos year, month e day.
Como funciona o algoritmo determinístico
Nenhum relógio, fuso ou calendário remoto é consultado, então entradas iguais sempre geram o mesmo JSON. Os aliases documentados apenas facilitam integrações. Se a operação sair da faixa aceita, a resposta será invalid_input, sem ajuste silencioso.
Usos práticos e limites importantes
O navegador executa localmente o mesmo cálculo puro; em automações, cada chamada bem-sucedida da API custa US$ 0,002 e fornece campos estruturados para scripts, planilhas, testes e fluxos.
Perguntas técnicas
Quanto custa a calculadora?
Você pode usá-la gratuitamente no navegador. Cada solicitação bem-sucedida da API custa US$ 0,002.