Número da semana com 1º dia personalizado
Escolha o dia em que suas semanas começam e receba o número da semana de qualquer data, com a semana 1 sempre sendo a de 1º de janeiro: 15 de março de 2024 cai na semana 11 quando a semana começa na segunda. 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
- Primeiro dia da semana
- monday
- Ano
- 2.024
- Mês
- 3
- Dia
- 15
- Dia do ano
- 75
Esta calculadora de número da semana recebe uma data do calendário gregoriano no formato YYYY-MM-DD e o primeiro dia da semana que você escolher, e devolve o número da semana no ano segundo uma regra simples e explícita: as semanas começam sempre no dia que você indicar, e a semana 1 é a que contém 1º de janeiro do ano civil. Essa convenção alinha-se à prática comum em planilhas e operações quando você precisa de domingo, segunda, sábado ou outro início sem adotar os limites de ano-semana ISO-8601. O motor usa apenas aritmética inteira determinística do calendário—anos bissextos, comprimentos de mês, dia do ano e dias da semana de Sakamoto—sem chamadas de rede, aleatoriedade nem relógio do host.
O que é um número de semana com início personalizado e o que a resposta contém
Um número de semana do ano responde “em qual semana deste ano civil cai esta data?” depois que você fixa como as semanas começam. Diferente da data de semana ISO-8601, que sempre começa na segunda-feira e pode atribuir o fim de dezembro ou o início de janeiro a outro ano-semana, esta calculadora mantém o ano civil fixo e só altera o dia de início.
Casos rejeitados incluem data ausente, formatos como 2024/03/15, meses impossíveis, 29 de fevereiro fora de ano bissexto e tokens de dia desconhecidos. Se você precisa de pares semana e ano-semana ISO, use a ferramenta dedicada de número de semana ISO; se só precisa de semanas EUA com início no domingo, a ferramenta de semana EUA é uma especialização fixa da mesma família. Esta página é para equipes que escolhem de propósito o primeiro dia da semana e ainda querem um índice estável dentro do ano civil.
Onde números de semana com início personalizado se encaixam em planejamento e software
Equipes de operações e produto muitas vezes precisam de um ritmo semanal alinhado à cultura local: muitos quadros europeus começam na segunda-feira, o varejo dos EUA e alguns calendários escolares no domingo, e certas indústrias tratam o sábado como primeiro dia de turnos. Uma única calculadora que só muda o dia de início e mantém a semana 1 fixada na de 1º de janeiro permite atender esses públicos com o mesmo código sem sete helpers distintos.
Desenvolvedores carimbam buckets de log, rótulos de sprint e períodos de ponto com um índice determinístico alinhado a expectativas estilo WEEKNUM de planilha quando o tipo de retorno se generaliza além do domingo. Educadores e redatores de normas podem demonstrar lado a lado que números de semana com início na segunda sob a regra de 1º de janeiro não são os da ISO perto das bordas do ano, o que evita erros caros de um em planilhas de conformidade.
Combine com ferramentas de início e fim de semana quando precisar dos limites de segunda ou domingo da mesma semana, com o número de semana ISO quando o relatório legal exigir ISO-8601, e com ajudas de dia da semana quando só precisar do nome do dia sem um índice de semana.
Casos de uso
Painéis semanais conscientes da região
Carimbe relatórios com rótulos de semana do ano que batam com o primeiro dia regional (segunda, domingo ou sábado) sem mudar para regras de ano-semana ISO.
Índices de semana compatíveis com planilhas
Espelhe o comportamento estilo WEEKNUM do Excel generalizado a qualquer dia de início para importações, folhas de ponto e pacotes financeiros que permanecem no ano civil.
Perguntas frequentes
Como a semana 1 é definida?
A semana 1 é a que contém 1º de janeiro do ano civil. As semanas têm sempre sete dias a partir do dia da semana que você escolher. Isso não é a regra ISO do primeiro quinta-feira.
Em que isso difere da calculadora de número de semana ISO?
Semanas ISO sempre começam na segunda-feira e podem atribuir outro ano-semana perto de 1º de janeiro. Esta ferramenta mantém o ano civil e só muda o primeiro dia; a semana 1 sempre inclui 1º de janeiro.
Isto usa fusos horários ou o relógio atual?
Não. Apenas mapeia uma data de calendário validada e um primeiro dia para campos de semana com aritmética pura.
Qual dia de início é usado se eu não escolher nenhum?
A segunda-feira. Você pode trocar para qualquer dia de domingo a sábado, e a semana 1 continua sendo a que contém 1º de janeiro, seja qual for o dia escolhido.
Quantas semanas um ano pode ter com essa regra?
O resultado mostra o número da semana de 31 de dezembro com o mesmo dia de início. Em 2024, com semanas começando na segunda-feira, o ano tem 53 semanas.
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/week-number-custom-start \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15"}'const res = await fetch("https://api.kit.forhosting.com/date/week-number-custom-start", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/week-number-custom-start",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/week-number-custom-start", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/week-number-custom-start", 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"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.week_number_custom_start",
"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
Use grátis no navegador para quadros de planejamento e calendários por região, ou chame a API a US$ 0,002 por solicitação bem-sucedida quando pipelines precisarem sempre do mesmo rótulo de semana.
O que é um número de semana com início personalizado e o que a resposta contém
Você envia date como string estrita YYYY-MM-DD e first_weekday opcional como nome em inglês (sunday a saturday) ou um inteiro de zero para domingo a seis para sábado; se omitir first_weekday, assume-se segunda-feira. Após a validação, a resposta ecoa a data normalizada, ano civil, mês e dia, o ordinal day_of_year, o dia da semana da entrada em minúsculas e em Title Case mais um índice baseado em zero, first_weekday e first_weekday_index resolvidos, quantos dias a data fica do início da sua semana, week_number a partir de um, weeks_in_year como o número da semana de 31 de dezembro com o mesmo dia de início, week_1_rule igual a contains_january_1, flags de ano bissexto e calendário, uma tag method e uma fórmula curta para documentação. Não há conversão de fuso horário nem dependência de “hoje”: ou as entradas formam um dia de calendário real e um primeiro dia válido, ou a solicitação falha com invalid_input.
Como a data e o primeiro dia são lidos para o resultado permanecer reproduzível
A string deve combinar quatro dígitos, um hífen, dois dígitos, outro hífen e dois dígitos; espaços iniciais e finais são removidos, mas datas parciais, nomes de mês e o ordinal do dia do ano sozinho não são expandidos aqui. O ano deve ficar entre 1 e 9999, o mês entre 1 e 12, e o dia entre 1 e o comprimento real daquele mês naquele ano, com anos bissextos seguindo a regra gregoriana de divisível por quatro exceto séculos não divisíveis por quatrocentos. O campo preferido de data é date, mas os aliases iso_date, d, value e calendar são aceitos para que planilhas, query strings e formulários reutilizem o contrato sem renomear colunas. O campo first_weekday aceita nomes ou índices numéricos e tem aliases week_start, start_day e first_day; valores vazios ou omitidos assumem segunda-feira para que um início no estilo ISO fique a um passo sem forçar a regra de ano-semana ISO. Do triplo validado o motor calcula day_of_year somando comprimentos de mês com ajuste de fevereiro bissexto, depois os dias da semana da data de entrada e de 1º de janeiro pelo método inteiro de Sakamoto (domingo zero, sábado seis). O deslocamento de 1º de janeiro dentro da semana personalizada é (dia de 1º de janeiro menos first_weekday mais sete) módulo sete; o número da semana é o piso de day_of_year menos um mais esse deslocamento, tudo dividido por sete, mais um. O número da semana de 31 de dezembro com o mesmo início volta como weeks_in_year para que painéis saibam se o ano chega a 52, 53 ou 54 rótulos com essa configuração. Combine a execução gratuita do navegador nesta página com a API paga quando precisar do mesmo rótulo de semana dentro de um pipeline automatizado.
Onde números de semana com início personalizado se encaixam em planejamento e software
Analistas que montam painéis ano a ano podem guardar week_number junto com first_weekday_index para que filtros permaneçam inequívocos quando duas regiões discordam sobre o início da semana. Nesta página o trabalho roda inteiramente no seu navegador; pela API cada consulta bem-sucedida custa US$ 0,002, validação falha não é cobrada e nada é armazenado após a resposta. Essa divisão—exploração interativa gratuita e API idêntica paga—combina com o restante do catálogo KIT nível A e permite passar de uma verificação pontual a um pipeline sem mudar o resultado matemático.
Casos de integração
Fixtures determinísticas de CI
Gere valores week_number reproduzíveis para testes unitários sob vários first_weekday sem viés de Date nem da locale do host.
Perguntas técnicas
Quanto custa a calculadora de número da semana com primeiro dia personalizado?
É gratuita no seu navegador nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Que valores first_weekday pode receber?
Nomes em inglês sunday a saturday (sem diferenciar maiúsculas), ou inteiros 0–6 com domingo = 0 e sábado = 6. O padrão é monday quando o campo é omitido.