Dias restantes no ano
Em 25 de julho de 2026 faltam 159 dias completos até 31 de dezembro: a data é o dia 206 de 365. Digite uma data e veja os dias que faltam para o fim do ano, o número do dia e se o ano é bissexto. 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
- 2026-07-25
- Ano
- 2.026
- Mês
- 7
- Dia
- 25
- Dia do ano
- 206
Uma calculadora de dias restantes no ano responde a uma pergunta de planejamento que as pessoas fazem toda semana: a partir de um dia civil dado, quantos dias completos restam até o ano terminar? Cole uma data ISO no formato ano-mês-dia e esta ferramenta devolve a contagem de dias restantes até trinta e um de dezembro daquele mesmo ano, o ordinal do dia do ano, se o ano é bissexto gregoriano e a string ISO de fim de ano.
O que significa «dias restantes até o fim do ano» no calendário gregoriano
Uma data de calendário ISO é escrita com quatro dígitos para o ano, um hífen, dois dígitos para o mês, outro hífen e dois dígitos para o dia do mês—por exemplo dois mil vinte e seis hífen zero sete hífen vinte e cinco. Essa forma é inequívoca entre locais que escrevem mês-primeiro ou dia-primeiro no dia a dia, por isso APIs e bancos de dados a preferem.
Por baixo, o calendário gregoriano ainda rege o comprimento dos meses: trinta ou trinta e um dias na maioria, fevereiro com vinte e oito em um ano comum e vinte e nove só em um ano bissexto. Um ano bissexto é todo ano divisível por quatro, exceto anos seculares não divisíveis por quatrocentos.
O dia do ano é a posição ordinal da data dentro daquele ano: o primeiro de janeiro é o dia um e o trinta e um de dezembro é o dia trezentos e sessenta e cinco ou trezentos e sessenta e seis.
Os dias restantes até o fim do ano definem-se como o comprimento do ano menos esse dia do ano, de modo que o último dia civil reporta zero dias completos restantes e o primeiro de janeiro reporta trezentos e sessenta e quatro em um ano comum ou trezentos e sessenta e cinco em um bissexto. Essa definição combina com a linguagem cotidiana de contagens regressivas e planejamento de fim de ano sem inventar um horizonte do ano seguinte nem contar só dias úteis.
Dicas práticas, limites e buscas relacionadas
Envie sempre uma data de calendário completa, não um datetime com componente de hora nem um Z final; esta ferramenta recusa deliberadamente carimbos ISO estendidos para que chamadores não codifiquem por acidente meias-noites dependentes de fuso.
Ao ensinar ou testar, mantenha um conjunto conhecido pequeno: uma data entre semana no meio do ano, o primeiro de janeiro em um ano comum e em um bissexto, o trinta e um de dezembro para o caso de zero restantes, um vinte e nove de fevereiro válido como sucesso e uma falha deliberada como dois mil vinte e três hífen zero dois hífen vinte e nove.
Os limites de ano param em nove mil novecentos e noventa e nove para manter bem definidas as strings ISO de quatro dígitos nesta superfície de produto. Esta página destina-se a quem busca dias que faltam no ano, dias restantes até o fim do ano ou uma contagem regressiva de fim de ano a partir de uma data ISO; não é um contador de dias úteis, nem um formatador de datas ciente de locale, nem uma calculadora de intervalos multi-ano.
Prefira esta capacidade quando já tiver uma data ISO e só precisar do restante até o fim do ano; se precisar de dias úteis excluindo fins de semana e feriados, use em vez disso uma capacidade de business-days.
Casos de uso
Planejamento de projetos e férias de fim de ano
Gestores informam uma data ISO alvo e veem quantos dias civis completos restam até 31 de dezembro para buffers de férias, janelas de congelamento e cortes de entrega.
Conferência de lições de aritmética do dia do ano
Estudantes comparam contagens manuais de dia do ano e dias restantes com um resultado determinístico que inclui as regras de fevereiro bissexto.
Perguntas frequentes
Como são contados os dias restantes até o fim do ano?
A contagem são os dias civis completos que restam após a data dada dentro do mesmo ano.
Um ano bissexto muda a resposta?
Sim. Anos bissextos têm 366 dias, de modo que o dia do ano após fevereiro e a contagem restante contemplam 29 de fevereiro quando o ano é divisível por 4 (com as exceções seculares habituais).
A calculadora de dias restantes no ano é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
Qual é o número do dia no ano de uma data?
Ele aparece junto do resultado. 1º de janeiro é o dia 1, então 25 de julho de 2026 é o dia 206 de 365, e 31 de dezembro é o dia 365, ou 366 em ano bissexto.
A contagem considera só dias úteis?
Não. Todos os dias do calendário entram, incluindo fins de semana e feriados. O resultado é a duração do ano menos o número do dia da sua data, sem regras de dia útil.
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/days-remaining-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/days-remaining-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/days-remaining-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/days-remaining-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/days-remaining-year", 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": "2026-07-25"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.days_remaining_year",
"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
Strings inválidas—formato errado, meses impossíveis ou vinte e nove de fevereiro fora de um ano bissexto—são rejeitadas com um erro claro invalid_input em vez de uma resposta silenciosa e incorreta.
O que significa «dias restantes até o fim do ano» no calendário gregoriano
Como a ferramenta nunca abre o construtor Date do host, os resultados não podem derivar quando um navegador roda em um fuso diferente do Worker da API, e os casos-limite do dia bissexto decidem-se só por regras de divisibilidade inteira.
Como chamar a API e o que retorna
O valor deve coincidir com o padrão exato de quatro dígitos, hífen, dois dígitos, hífen, dois dígitos, e deve representar um dia gregoriano real no intervalo inclusivo de anos de um a nove mil novecentos e noventa e nove. Envie um corpo JSON com um campo de string obrigatório chamado date, que também pode ser fornecido sob os aliases iso_date, value ou day. Em caso de sucesso a resposta ecoa a string canônica da data, year, month e day como números, define day_of_year como o ordinal de base um, days_in_year como trezentos e sessenta e cinco ou trezentos e sessenta e seis, days_remaining e days_left como o mesmo inteiro não negativo de dias completos até trinta e um de dezembro, days_elapsed como o mesmo ordinal de day_of_year para quem pensa em dias decorridos, leap_year como booleano, year_end como a string ISO de trinta e um de dezembro daquele ano, e inclui uma mensagem curta mais um array ordenado steps que reexpõe o parse e a subtração. Validação falha—campo ausente, tipo não string, formato ruim, ano fora do intervalo, mês ou dia impossível, ou vinte e nove de fevereiro não bissexto—retorna invalid_input e nunca é cobrada. O preço é um US$ 0,002 fixo por requisição bem-sucedida com item unitário e preço marginal unitário zero.
Dicas práticas, limites e buscas relacionadas
Prefira o nome de campo principal date quando controlar o cliente; aliases existem por compatibilidade com formulários que rotulam o controle iso_date ou value. Checagens de ida e volta são fáceis: recalcule day_of_year à mão pelas comprimentos dos meses e confirme que days_in_year menos esse ordinal é igual a days_remaining. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém baratos os scripts exploratórios quando se enviam datas erradas de propósito.
Casos de integração
Fixtures de contagem regressiva para apps e testes
Desenvolvedores geram valores conhecidos de dias restantes para testes unitários e widgets de contagem regressiva na UI sem depender do relógio do host ou do fuso horário.
Perguntas técnicas
O que acontece em 31 de dezembro?
A ferramenta devolve days_remaining = 0 e informa que a entrada é o último dia do ano. Não avança para o ano seguinte.
E se a data for inválida?
Campos ausentes, strings que não são YYYY-MM-DD, meses ou dias impossíveis e 29 de fevereiro não bissexto retornam invalid_input e nunca são cobrados.