Próxima ocorrência de um dia da semana
A partir da sexta-feira, 15 de março de 2024, a próxima segunda é 18 de março de 2024, três dias depois. Escolha uma data e um dia da semana para receber o primeiro que coincida nessa data ou depois, útil para relatórios e reuniões semanais. 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-15
- Nome do dia da semana-alvo
- Monday
- Resultado
- 2024-03-18
- Dias até
- 3
- Dia da semana da base
- Friday
- Dia da semana ISO da base
- 5
Esta calculadora de próxima ocorrência de um dia da semana recebe uma única data do calendário gregoriano no formato AAAA-MM-DD e um nome de dia da semana-alvo em inglês, e então retorna o próximo dia de calendário, em ou após a base, que cai nesse dia da semana. Verificações clássicas incluem 2024-03-15 (uma sexta-feira) mais segunda-feira caindo em 2024-03-18 três dias depois, a mesma base de sexta-feira mais sexta-feira retornando a própria base com zero dias até, e uma base de domingo mais quarta-feira avançando três dias inteiros sem ruído de fuso horário. O mecanismo usa apenas aritmética gregoriana prolética determinística: valida que o dia base realmente existe no calendário, mapeia o token de dia da semana por meio de uma tabela fixa de nomes em inglês, calcula o dia da semana com aritmética inteira de Sakamoto, aplica a distância modular até o alvo, e converte por meio de uma contagem serial de dias, sem chamadas de rede, amostragem aleatória ou o relógio do host.
Onde a aritmética de próximo dia da semana se encaixa em agendamento, planejamento e software
Equipes de operações e produto precisam do próximo dia da semana nomeado quando um relatório sempre sai na sexta-feira, quando uma série de reuniões deve cair na próxima terça-feira após um carimbo de início, ou quando uma janela de conformidade é definida como a primeira segunda-feira em ou após uma data de protocolo, e não relativa a um relógio de parede de fuso horário flutuante.
Analistas que constroem rótulos de coorte usam o mesmo movimento para alinhar inícios de observação a um dia da semana fixo, para que métricas semanais se alinhem sem erros de contagem em fronteiras de ano e dias bissextos. Desenvolvedores chamam o contrato a partir de scripts para gerar vetores de teste determinísticos para agendadores e auxiliares tipo cron, criar calendários de demonstração para fluxos de integração, ou atender requisitos de produto que exigem um passo puro de calendário sem inícios de semana de localidade do host.
Educadores e redatores de normas usam a ferramenta para demonstrar que 2024-03-15 é uma sexta-feira e a próxima segunda-feira é três dias depois, sem depender de números seriais de planilha que diferem entre produtos ou de objetos Date ao vivo que mudam com fusos horários. Combine-a com conversão de epoch, subtração de dias ou auxiliares de semana ISO quando precisar de passos de calendário relacionados, e com outras ferramentas determinísticas gratuitas ao montar um pequeno laboratório de utilitários de data.
Casos de uso
Alinhamento de relatórios semanais e reuniões
Encontre a próxima segunda-feira ou sexta-feira em ou após uma data de início, para que relatórios, reuniões diárias e cadências de entrega caiam em um dia da semana fixo, sem deriva de fuso horário.
Janelas de conformidade e protocolo
Calcule o primeiro dia da semana nomeado em ou após uma data-base estatutária para avisos, prazos-limite e regras de política orientadas por calendário.
Perguntas frequentes
Quais nomes de dia da semana são aceitos?
Nomes completos em inglês de Monday a Sunday e abreviações comuns Mon, Tue/Tues, Wed, Thu/Thur/Thurs, Fri, Sat, Sun. A comparação não diferencia maiúsculas de minúsculas.
Isso pula fins de semana ou feriados?
Não. Ele apenas avança dias inteiros de calendário gregoriano até o dia da semana nomeado. Use uma ferramenta de dias úteis se precisar de calendários de feriados.
Quais formatos de data são aceitos?
Datas estritas de calendário no formato estendido ISO-8601, AAAA-MM-DD. Comprimentos de mês e dias bissextos são validados; anos de 1 a 9999 são suportados.
E se a minha data já cair no dia da semana escolhido?
A resposta é a própria data, com zero dia de espera. Se você escolher sexta para a sexta-feira, 15 de março de 2024, recebe 15 de março de 2024; só um dia diferente faz a data avançar.
Quantos dias à frente a resposta pode ficar?
No máximo seis dias, porque uma semana tem sete. A espera vai de zero, quando a data já coincide, até seis, quando o dia procurado acabou de passar.
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/next-weekday \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15","weekday":"Monday"}'const res = await fetch("https://api.kit.forhosting.com/date/next-weekday", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15",
"weekday": "Monday"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/next-weekday",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15",
"weekday": "Monday"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/next-weekday", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15","weekday":"Monday"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15","weekday":"Monday"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/next-weekday", 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-15",
"weekday": "Monday"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.next_weekday",
"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 |
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
O que significa o próximo dia da semana e o que a resposta contém
Encontrar a próxima ocorrência de um dia da semana responde a uma pergunta diferente de contar dias úteis ou formatar strings de localidade: caminha para frente no calendário civil gregoriano, uma meia-noite de cada vez, até alcançar o dia da semana-alvo nomeado, sem pular feriados ou depender da convenção local de início de semana. Você informa uma data base como uma string estrita AAAA-MM-DD e um campo weekday com um nome completo em inglês como Monday, ou uma abreviação comum como Mon, Fri ou Thu; o mecanismo normaliza maiúsculas/minúsculas e a forma do token contra um mapa fixo e rejeita qualquer coisa que não reconheça. Se você precisa de deslocamentos de dias úteis, conversão de epoch, análise de múltiplos formatos ou números de semana ISO, use essas ferramentas dedicadas; esta página responde apenas a data gregoriana mais próxima, em ou após a base, para um dia da semana nomeado. A semântica de igual-ou-posterior significa que, se a base já cai no dia da semana solicitado, days_until é zero e result é igual à data base; caso contrário, days_until é a distância em dias inteiros, de um a seis, até o próximo dia correspondente. A calculadora retorna a data base normalizada, o nome canônico do dia da semana usado, a string result em ISO, days_until, o nome do dia da semana da base e o número de dia da semana ISO, com segunda-feira igual a um até domingo igual a sete, o mesmo par para o resultado, os campos year, month e day do resultado, os componentes da base para facilitar o encadeamento, e um breve lembrete de fórmula. Os casos rejeitados incluem campo date ou weekday ausente, formatos errados como 2024/03/15, meses impossíveis, dias que não existem como 2023-02-29, e strings de dia da semana não reconhecidas, como Funday ou códigos numéricos.
Como a data e o dia da semana são interpretados e como o resultado permanece reproduzível
A string deve corresponder a quatro dígitos, um hífen, dois dígitos, outro hífen e dois dígitos; espaços no início ou no fim são removidos, mas datas parciais, apenas o dia ordinal do ano, e nomes de meses não são expandidos aqui. Depois da análise, o ano deve estar entre 1 e 9999, o mês entre 1 e 12, e o dia entre 1 e o comprimento real desse mês naquele ano, com anos bissextos seguindo a regra gregoriana de divisível por quatro, exceto anos de século não divisíveis por quatrocentos. O campo base preferido é date, mas os aliases iso_date, d, value, base e from são aceitos, para que planilhas, strings de consulta e formulários tipados possam reutilizar o mesmo contrato sem renomear colunas. O campo weekday, com os aliases day, dow, target e target_weekday, deve ser um nome completo em inglês ou uma abreviação comum do conjunto documentado; os tokens são convertidos para minúsculas e consultados em um mapa estático de domingo a sábado, enquanto números puros e rótulos inventados são rejeitados com uma mensagem clara, para que uma célula com erro não vire um próximo dia errado. Internamente, o mecanismo obtém o dia da semana da base com aritmética inteira pura de Sakamoto, calcula days_until como a distância modular até o alvo em um ciclo de sete dias, converte a tripla civil em uma contagem serial de dias gregoriana prolética usando o conhecido mapeamento days_from_civil, soma o deslocamento inteiro, e então recupera ano, mês e dia com civil_from_days. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo próximo dia da semana dentro de um pipeline automatizado.
Onde a aritmética de próximo dia da semana se encaixa em agendamento, planejamento e software
Nesta página o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do resto do catálogo tier A do KIT e permite passar de uma verificação pontual para um pipeline sem mudar o resultado matemático.
Casos de integração
Fixtures determinísticas para testes
Gere strings ISO reproduzíveis de próximo dia da semana para testes unitários, verificações de propriedades e asserções de CI sem depender de Date ou do relógio do host.
Perguntas técnicas
Quanto custa a calculadora de próxima ocorrência de um dia da semana?
É gratuita no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Se a data base já é o dia da semana-alvo, o que é retornado?
A própria data base. A semântica é igual-ou-posterior: days_until é 0 e result é igual à data de entrada normalizada.