Semanas entre duas datas
De 1º de janeiro a 15 de fevereiro de 2024 são 45 dias: 6 semanas inteiras e 3 dias de sobra. Digite duas datas quaisquer e receba a mesma divisão, útil para períodos de experiência, aviso prévio, ciclos de trabalho ou turmas de treinamento. 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
- Início
- 2024-01-01
- Fim
- 2024-02-15
- JDN início
- 2.460.311
- JDN fim
- 2.460.356
- Dias com sinal
- 45
- Dias totais
- 45
Saber quantas semanas completas separam dois dias do calendário é uma necessidade diária em planejamento de projetos, ciclos de folha, temporadas esportivas, períodos acadêmicos e marcos pessoais. Quem busca uma calculadora de semanas entre duas datas quer uma divisão clara em blocos de sete dias e um resto medido em dias, não um total bruto que ainda precise dividir à mão. Esta ferramenta aceita duas datas ISO estritas no formato ano-mês-dia, valida se cada dia existe de fato no calendário gregoriano —incluindo fevereiros bissextos—, converte ambas em números de dia juliano astronômico com uma fórmula inteira pura e informa o intervalo absoluto como semanas inteiras e dias sobrando de zero a seis. A ordem não altera a contagem principal de semanas: o mesmo par produz as mesmas semanas e sobras se você listar o dia mais cedo primeiro ou segundo, enquanto a direção com sinal permanece disponível para pipelines cronológicos. Bases impossíveis como 29 de fevereiro em um ano comum falham com um erro de validação claro em vez de se ajustarem em silêncio.
Como semanas inteiras e dias sobrando são calculados
Comece com duas datas civis escritas como ano, mês e dia na forma ISO internacional com hífens e larguras fixas para que todo cliente concorde com os mesmos seis inteiros.
Para cada string confirme que o ano está em um intervalo gregoriano prático do ano um ao nove mil novecentos e noventa e nove, que o mês está entre um e doze, e que o dia existe para aquele mês sob as regras bissextas gregorianas: um ano é bissexto quando é divisível por quatro, exceto que anos seculares só são bissextos quando também são divisíveis por quatrocentos. Essa regra torna legal o 29 de fevereiro em anos como 2024 e 2000, e ilegal em 2023 e 1900.
Quando ambos os triples são válidos, converta cada dia civil em um número de dia juliano astronômico com a fórmula inteira de Fliegel e Van Flandern usada na família de datas. Subtraia os dois números de dia para obter um delta de dias com sinal, tome o valor absoluto como total de dias de calendário entre as duas meia-noites civis, divida por sete com piso inteiro para semanas inteiras e mantenha o resto como dias sobrando entre zero e seis inclusive.
Onde calculadoras de semanas entre datas aparecem no trabalho
Gerentes de programa medem capacidade de sprints e trens de release em semanas inteiras com um resto que ainda precisa caber no bloco de calendário atual. Equipes de RH e folha expressam períodos de experiência, janelas de aviso prévio e coortes de treinamento como contagens de semanas derivadas de datas ISO de admissão e fim sem puxar uma biblioteca completa de agendamento. Engenheiros de dados materializam colunas derivadas de janelas de retenção em semanas, idade de coorte e duração de campanha a partir de duas strings ISO na configuração.
Se mais tarde você precisar de contagens de dias úteis que pulem fins de semana e feriados, adição de dias a uma única base, ordinais do dia do ano ou idade a partir de uma data de nascimento, trate isso como intenções de busca e páginas separadas em vez de sobrecarregar esta página de semanas entre duas datas.
Casos de uso
Planejamento de projetos e sprints
Converta início e fim ISO em semanas inteiras mais dias sobrando para capacidade, trens de release e cronogramas de stakeholders pensados em blocos de semanas.
Experiência e avisos prévios de RH
Expresse períodos de admissão ao fim ou de aviso como contagens de semanas com dias residuais para contratos, onboarding e folha sem deriva de fuso.
Perguntas frequentes
O que significa semanas entre duas datas?
É o intervalo absoluto de dias civis entre duas datas gregorianas, expresso como semanas inteiras de sete dias mais um resto de zero a seis dias, sem regras de dias úteis nem relógio de parede.
Qual formato de data é exigido?
ISO estrito YYYY-MM-DD com ano de quatro dígitos e mês e dia de dois dígitos para start e end. Valores como 2024-1-1 ou 2024/01/01 são rejeitados para que todo cliente concorde.
O que acontece com uma data inválida como 2023-02-29?
A mensagem de erro explica que o dia não é válido para aquele ano e mês no campo indicado.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Quantas semanas há de 1º de janeiro a 15 de fevereiro de 2024?
São 6 semanas inteiras e mais 3 dias, 45 dias no total. Digite 2024-01-01 e 2024-02-15 e a ferramenta mostra os dois números, sem que você precise dividir por sete.
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/weeks-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":"2024-01-01","end":"2024-02-15"}'const res = await fetch("https://api.kit.forhosting.com/date/weeks-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": "2024-01-01",
"end": "2024-02-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/weeks-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": "2024-01-01",
"end": "2024-02-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/weeks-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":"2024-01-01","end":"2024-02-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":"2024-01-01","end":"2024-02-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/weeks-between", 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
{
"start": "2024-01-01",
"end": "2024-02-15"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.weeks_between",
"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.
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 você envia e o que recebe de volta
Envie dois campos de string obrigatórios: start e end, cada um um dia de calendário ISO estrito como 2024-01-01 e 2024-02-15. Checagens clássicas incluem quarenta e cinco dias de 1 de janeiro de 2024 a 15 de fevereiro com seis semanas inteiras e três dias sobrando, exatamente catorze dias com duas semanas e zero sobra, e datas idênticas com zero semanas e zero sobra e direction same. Campos ausentes, valores que não sejam string, strings que não batem com o padrão de quatro-dois-dois dígitos e datas que batem com o padrão mas não são dias reais do calendário falham com invalid_input e não são cobrados. Em caso de sucesso a resposta ecoa as strings ISO normalizadas de início e fim, o número de dia juliano de cada lado, signed_days como fim menos início, total_days como o intervalo absoluto, weeks como o piso dos dias totais divididos por sete, leftover_days como o resto módulo sete, um indicador direction de forward, backward ou same, e uma string formula curta que documenta o caminho JDN. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.
Onde calculadoras de semanas entre datas aparecem no trabalho
Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.
Casos de integração
Duração de temporadas e campanhas
Meça temporadas esportivas, períodos acadêmicos ou campanhas de marketing como semanas e dias sobrando a partir de duas strings ISO de calendário para relatórios e fixtures.
Perguntas técnicas
A ordem das duas datas importa?
Não para weeks e leftover_days: a ferramenta usa a diferença absoluta de dias. signed_days e direction ainda mostram se o fim é depois, antes ou igual ao início.