Progresso do ano em %
O dia 1º de julho de 2024 marca exatamente 50% do ano: é o dia 183 de 366 e ainda faltam 183. Digite qualquer data para alimentar uma barra de progresso, um acompanhamento de metas anuais ou um plano sazonal. 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-07-01
- Ano
- 2.024
- Mês
- 7
- Dia
- 1
- Dia do ano
- 183
O progresso do ano é a parte de um ano civil já decorrida em uma data civil dada, expressa como percentual de pouco acima de zero em primeiro de janeiro até cem em trinta e um de dezembro. Painéis de produto, rastreadores de metas anuais, calendários de marketing sazonal e ferramentas de produtividade pessoal precisam desse número sem lutar com fusos do host nem tabelas de horário de verão. Esta calculadora aceita uma única data de calendário ISO na forma estrita ano-mês-dia com quatro, dois e dois dígitos, verifica se o dia realmente existe no calendário gregoriano —incluindo fevereiros bissextos—, calcula o ordinal do dia do ano e devolve o percentual igual a cem vezes esse ordinal dividido por trezentos e sessenta e cinco ou trezentos e sessenta e seis. A resposta também inclui dias restantes, percentual restante, um indicador bissexto e o comprimento do ano para que barras de progresso e contagens regressivas fiquem consistentes. Datas impossíveis como 29 de fevereiro em um ano comum ou 31 de abril falham com um erro de validação claro em vez de um ajuste silencioso.
Como o percentual de progresso do ano é calculado a partir de uma data ISO
Comece com uma data de calendário escrita como ano, mês e dia na forma ISO internacional com hífens e larguras fixas para que todo cliente concorde com os mesmos três inteiros. Primeiro confirme que o ano está em um intervalo gregoriano prático e que o mês está entre um e doze. Em seguida aplique a regra bissexta usada por calendários civis no mundo todo: 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. Com o status bissexto conhecido, consulte o comprimento de cada mês daquele ano e rejeite qualquer dia que exceda o comprimento do mês, por exemplo 31 de abril ou 30 de fevereiro. Quando o triple é válido, some os comprimentos de cada mês completo antes do mês dado e então some o dia do mês para obter o ordinal do dia do ano.
Primeiro de janeiro é sempre um, primeiro de março é sessenta e um em um ano bissexto e sessenta em um ano comum, e trinta e um de dezembro é trezentos e sessenta e seis ou trezentos e sessenta e cinco. O percentual de progresso do ano é definido como cem multiplicado pelo dia do ano dividido pelo comprimento do ano, de modo que o último dia do ano é exatamente cem por cento e os dias anteriores escalam de forma linear.
Os dias restantes equivalem ao comprimento do ano menos o dia do ano, e o percentual restante é a fração complementar vezes cem.
Onde calculadoras de progresso do ano aparecem no trabalho real
Equipes de produto e crescimento desenham barras de progresso anuais para OKRs, metas de receita e calendários de conteúdo e precisam de um percentual confiável que combine com datas civis em vez de frações de epoch Unix que ignoram dias bissextos. RH e finanças acompanham políticas de férias, janelas de relatório fiscal e prazos de treinamento como parcela do ano para que painéis fiquem legíveis para não engenheiros. O marketing agenda campanhas sazonais perguntando que percentual do ano já passou quando uma data de lançamento é fixada.
Software que deve ficar livre de bibliotecas de fuso ainda precisa de um percentual de calendário puro para janelas de manutenção, calendários de conformidade e widgets de produtividade pessoal definidos por datas civis.
Se mais tarde você precisar só do ordinal do dia do ano sem percentual, contagens de dias úteis entre duas datas, idade a partir de uma data de nascimento, números de dia juliano completos ou numeração de semana do ano sob ISO 8601, trate isso como intenções de busca e páginas separadas em vez de sobrecarregar esta página de percentual de progresso do ano.
Casos de uso
Painéis de OKR e metas anuais
Converta qualquer data ISO no percentual do ano decorrido para que barras de progresso e rótulos de percentual restante respeitem bissextos sem fusos do host.
Calendários de marketing sazonal
Mapeie datas de lançamento de campanhas a percentuais de progresso do ano para decks de planejamento e gatilhos sazonais automatizados.
Perguntas frequentes
Um ano bissexto muda o percentual?
Sim. Anos bissextos têm 366 dias, então o mesmo mês-dia após fevereiro mapeia para um percentual diferente do que em um ano comum. 29 de fevereiro só é aceito em anos bissextos.
O que acontece se a data for inválida?
Forma errada, mês fora de faixa ou dias impossíveis como 2023-02-29 são rejeitados e não cobrados.
É o mesmo que o dia do ano?
Não. O dia do ano devolve o ordinal 1–366. Esta capacidade devolve o percentual decorrido do ano (e o restante), uma intenção de busca diferente embora ambas usem matemática de calendário.
Quanto custa?
A ferramenta do navegador é gratuita e roda localmente.
Como é calculado o percentual de progresso do ano?
A posição do dia no ano é dividida pelo número de dias daquele ano, 365 ou 366, e multiplicada por 100. Por isso 31 de dezembro sempre resulta em exatamente 100%.
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/year-progress \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-07-01"}'const res = await fetch("https://api.kit.forhosting.com/date/year-progress", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-07-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/year-progress",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-07-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/year-progress", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-07-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-07-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/year-progress", 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-07-01"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.year_progress",
"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 um campo de string obrigatório chamado date contendo um dia de calendário ISO estrito como 2024-07-01. Dias que batem com o padrão mas não são datas reais de calendário —incluindo 29 de fevereiro não bissexto e valores de mês fora de um a doze— também falham com uma mensagem que nomeia o problema para que os clientes corrijam a entrada sem adivinhar. Checagens clássicas incluem primeiro de janeiro perto de zero vírgula vinte e sete por cento em um ano comum, primeiro de julho perto da metade do ano com um deslocamento de um dia entre anos bissextos e comuns, e trinta e um de dezembro exatamente cem por cento. Campos ausentes, valores que não sejam string e strings que não batem com o padrão de quatro-dois-dois dígitos falham com invalid_input e não são cobrados. Em caso de sucesso a resposta ecoa a string de data normalizada, os componentes numéricos de ano, mês e dia, o inteiro day_of_year de um a trezentos e sessenta e cinco ou trezentos e sessenta e seis, um booleano is_leap_year, days_in_year como trezentos e sessenta e cinco ou trezentos e sessenta e seis, remaining_days até o último dia daquele ano, percent como a fração de ano decorrida vezes cem, remaining_percent como a fração complementar vezes cem, e uma string formula curta que documenta a regra bissexta e a definição do percentual. 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 progresso do ano aparecem no trabalho real
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
Conformidade e rastreadores de férias
Marque políticas anuais com um percentual estável e remaining_days a partir de entradas YYYY-MM-DD estritas, com invalid_input claro em datas ruins.
Perguntas técnicas
Como o percentual de progresso do ano é calculado?
percent = 100 × day_of_year / days_in_year, onde day_of_year é o ordinal base 1 da data ISO e days_in_year é 365 ou 366 sob regras bissextas gregorianas. 31 de dezembro é sempre exatamente 100%.