Calculadora de semana ISO
Digite uma data e veja a semana ISO dela: 1º de janeiro de 2024 é a semana 1 de 2024, mas 1º de janeiro de 2021 ainda fica na semana 53 de 2020. O ano-semana aparece junto. 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-01-01
- Ano
- 2.024
- Mês
- 1
- Dia
- 1
- Semana ISO
- 1
Esta calculadora de número de semana ISO recebe uma única data do calendário gregoriano no formato AAAA-MM-DD e retorna o número de semana ISO-8601, junto com o ano de numeração de semana ao qual esses dois valores pertencem. As semanas ISO sempre começam na segunda-feira e terminam no domingo, e a semana 1 de um ano é a semana que contém a primeira quinta-feira desse ano — por isso o fim de dezembro e o início de janeiro frequentemente relatam um ano-semana diferente do ano civil do calendário. Verificações clássicas incluem 2024-01-01 mapeando para a semana 1 de 2024, e 2021-01-01 mapeando para a semana 53 de 2020. O mecanismo usa apenas aritmética determinística de calendário com inteiros: anos bissextos, comprimentos de mês, dia ordinal do ano e dia da semana ISO são calculados sem chamadas de rede, amostragem aleatória ou o relógio do host.
O que é um número de semana ISO e o que a resposta contém
As datas de semana ISO-8601 respondem a uma pergunta diferente dos calendários de mês e dia: elas localizam um dia dentro de uma semana baseada em segunda-feira, numerada de 1 a 52 ou 53 dentro de um ano de numeração de semana. A semana 1 é definida como a semana que contém a primeira quinta-feira do ano, o que equivale à semana que contém o dia 4 de janeiro.
Por causa dessa regra, o período de 29 de dezembro a 3 de janeiro pode pertencer ao ano-semana anterior ou seguinte, mesmo quando o ano civil na fatura ainda diz o número antigo ou novo. Se você precisa de epochs Unix, análise de múltiplos formatos, ou aritmética de dias úteis, use essas ferramentas dedicadas; esta página responde apenas o número de semana ISO e o ano-semana para uma data de calendário validada.
Como a data é interpretada e como a semana 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.
A partir da tripla validada, o mecanismo calcula o dia do ano somando os comprimentos dos meses, o dia da semana ISO pelo método inteiro puro de Sakamoto, mapeado para que segunda-feira seja um e domingo seja sete, depois o número da semana como o piso de dia-do-ano menos dia-da-semana mais dez, tudo dividido por sete. Quando essa semana é menor que um, a data pertence à última semana do ano-semana anterior; quando excede o número de semanas do ano civil, pertence à semana um do próximo ano-semana.
Um ano tem cinquenta e três semanas ISO quando seu primeiro ou último dia é uma quinta-feira.
Onde os números de semana ISO se encaixam em planejamento, relatórios e software
Equipes de operações e finanças usam números de semana ISO quando uma cadência semanal precisa se alinhar entre países que não começam todos a semana no domingo: cronogramas de fabricação, pacotes de vendas de varejo, rótulos de sprint ágil e relatórios estatutários que citam semana do ano se beneficiam de um único id de semana inequívoco.
Desenvolvedores chamam o mesmo contrato a partir de scripts para carimbar buckets de log, gerar vetores de teste determinísticos para sistemas de folha de pagamento e planilha de horas, ou atender requisitos de produto que exigem rótulos W01 a W53 em vez de uma numeração de semana local improvisada. Educadores e redatores de normas usam a ferramenta para demonstrar datas-limite como 2005-01-01 na semana 53 de 2004 versus 2005-01-03 na semana 1 de 2005, sem depender de números seriais de planilha que diferem entre o Excel e o ISO.
Combine-a com conversão de epoch ou normalização de data quando precisar de passos de calendário relacionados, e com outros auxiliares determinísticos gratuitos ao montar um pequeno laboratório de utilitários de data.
Casos de uso
Rótulos de relatórios semanais
Carimbe painéis, pacotes de varejo e relatórios operacionais com pares estáveis de semana e ano-semana ISO, em vez de semanas locais dependentes de localidade.
Verificações de conformidade em fronteiras de ano
Verifique datas do fim de dezembro e início de janeiro que pertencem ao ano-semana anterior ou seguinte antes de fechar livros ou registrar estatísticas por semana.
Perguntas frequentes
Como o número de semana ISO é definido?
As semanas vão de segunda a domingo. A semana 1 é a semana que contém a primeira quinta-feira do ano (a semana que contém 4 de janeiro). O resultado pode usar um ano-semana diferente do ano civil.
Isso converte fusos horários ou usa o relógio atual?
Não. Ele apenas mapeia uma data de calendário validada para campos de semana ISO com aritmética pura.
Por que 1º de janeiro de 2021 fica na semana 53 de 2020?
Porque a semana 1 de um ano é a que contém a primeira quinta-feira dele, e 1º de janeiro de 2021 cai antes dela. Esse dia ainda pertence à última semana de 2020, que foi a 53.
O que mais o resultado mostra além do número da semana?
Mostra o dia da semana de 1 (segunda) a 7 (domingo) com o nome, um rótulo curto como 2024-W01, quantas semanas tem esse ano-semana e a posição do dia no ano.
Quais datas a calculadora não aceita?
Datas que não existem no calendário, como 2023-02-29, meses impossíveis e datas fora do padrão ano-mês-dia com hífens, como 2024/01/01. O ano precisa estar entre 1 e 9999.
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/iso-week-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-01-01"}'const res = await fetch("https://api.kit.forhosting.com/date/iso-week-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-01-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-week-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-01-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-week-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-01-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-01-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-week-number", 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-01-01"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_week_number",
"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
Use gratuitamente no navegador para planejamento, folha de pagamento e planilhas de conformidade, ou chame a API por US$ 0,002 a cada solicitação bem-sucedida quando precisar de rótulos de semana reproduzíveis em CI, pipelines de relatórios ou funcionalidades de produto.
O que é um número de semana ISO e o que a resposta contém
Esta calculadora aceita um campo obrigatório, date, como uma string estrita AAAA-MM-DD, valida que o dia realmente existe no calendário gregoriano — incluindo 29 de fevereiro apenas em anos bissextos e o comprimento correto de cada mês — e então retorna a data normalizada, o ano, mês e dia civis, o número de semana ISO como iso_week, o ano de numeração de semana como iso_week_year, o dia da semana ISO de 1 para segunda-feira a 7 para domingo com um nome legível, uma iso_week_string compacta como 2020-W53, quantas semanas esse ano-semana contém, o ordinal do dia do ano, e um breve lembrete de fórmula. Não há conversão de fuso horário, nenhum primeiro dia de semana dependente de localidade, e nenhuma aproximação de ponto flutuante: ou a entrada é um dia real de calendário e os campos de semana são totalmente determinados, ou a solicitação falha com invalid_input. Os casos rejeitados incluem date ausente, formato errado como 2024/01/01, meses impossíveis, e dias que não existem como 2023-02-29.
Como a data é interpretada e como a semana permanece reproduzível
O campo preferido é date, mas os aliases iso_date, d e value são aceitos, para que planilhas, strings de consulta e formulários tipados possam reutilizar o mesmo contrato sem renomear colunas. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo rótulo de semana dentro de um pipeline automatizado.
Onde os números de semana ISO se encaixam em planejamento, relatórios e software
Analistas que constroem painéis ano a ano evitam o clássico erro de contagem em que os primeiros dias de janeiro ainda pertencem à semana 52 ou 53 do ano-semana anterior, se armazenarem tanto iso_week quanto iso_week_year em vez de apenas o ano civil. 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 valores reproduzíveis de iso_week e iso_week_string para testes unitários, verificações de propriedades e asserções de CI sem desvio de Date.
Perguntas técnicas
Quanto custa a calculadora de número de semana ISO?
É 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.
Por que iso_week_year pode diferir do ano do calendário?
Datas de aproximadamente 29 de dezembro a 3 de janeiro frequentemente caem na última semana do ano-semana anterior ou na semana 1 do seguinte, segundo as regras ISO-8601.
Quais formatos de data são aceitos?
Apenas datas estritas AAAA-MM-DD de calendário. Valores como 2024/01/01, 01-01-2024, ou 2023-02-29 (ano não bissexto) são rejeitados com invalid_input.