Dia do ano para data
O dia 61 de 2024 é 1º de março, porque 2024 é bissexto e tem 366 dias. Digite um ano e um número de dia e receba a data, se o ano é bissexto e quantos dias faltam até 31 de dezembro. 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
- Ano
- 2.024
- Dia do ano
- 61
- Data
- 2024-03-01
- Mês
- 3
- Dia
- 1
- Dias no ano
- 366
Um ordinal de dia do ano é a posição de um dia civil dentro do seu ano contando de um em primeiro de janeiro até trezentos e sessenta e cinco ou trezentos e sessenta e seis em trinta e um de dezembro. Muitos pipelines, cadernos científicos e rastreadores anuais guardam esse ordinal em vez de uma data civil completa e depois precisam do mapa inverso ao reportar a usuários, escrever carimbos ISO ou juntar tabelas por ano-mês-dia. Este conversor aceita um ano gregoriano e um inteiro de dia do ano, aplica a regra civil de ano bissexto para que vinte e nove de fevereiro exista só em anos bissextos, e devolve a data de calendário correspondente com componentes de mês e dia, um indicador de bissexto, o comprimento do ano e quantos dias restam até trinta e um de dezembro. Ordinais fora do intervalo legal daquele ano — por exemplo o dia trezentos e sessenta e seis em um ano comum — falham com erro de validação claro em vez de rolar para o ano seguinte ou inventar data fantasma.
Como um ordinal de dia do ano vira data civil
Comece com dois inteiros: um ano gregoriano em intervalo prático de um a nove mil novecentos e noventa e nove, e um ordinal de dia do ano que conta de um em primeiro de janeiro. Primeiro decida se o ano é bissexto sob a regra civil mundial: um ano é bissexto quando divisível por quatro, exceto que anos seculares só o são se também divisíveis por quatrocentos.
Essa regra torna bissextos dois mil vinte e quatro e dois mil com trezentos e sessenta e seis dias, enquanto dois mil vinte e três e mil novecentos são comuns com trezentos e sessenta e cinco dias. Com o comprimento do ano conhecido, rejeite qualquer ordinal menor que um ou maior que o comprimento do ano para que o dia trezentos e sessenta e seis nunca apareça em ano comum e o dia zero nunca seja aceito.
Quando o ordinal é legal, percorra as doze comprimentos de mês daquele ano, subtraindo cada mês completo até o resto caber no próximo mês; o índice de mês e o dia residual são o mês civil e o dia do mês. Formate esses três componentes como cadeia ISO estrita com ano de quatro dígitos e mês e dia de dois dígitos para todo cliente ver o mesmo texto de data.
Checagens clássicas incluem ordinal um mapeando para primeiro de janeiro, ordinal sessenta e um para primeiro de março em bissexto e dois de março em ano comum ao comparar com o calculador inverso, e o ordinal final para trinta e um de dezembro.
Onde a conversão de dia do ano para data aparece no trabalho real
Equipes de operações que carimbam lotes com números de dia do ano ainda precisam de datas civis ao abrir tickets, escrever faturas ou apresentar painéis a partes interessadas não técnicas. Cadernos de clima e agricultura frequentemente guardam séries plurianuais em um eixo de um a trezentos e sessenta e seis e depois materializam datas de primeiro de março ou de janela de colheita para relatórios lidos como ano-mês-dia.
Gestores de projeto que acompanham objetivos anuais a partir de uma fração de progresso convertem o número do dia de volta a data civil ao agendar revisões. Software que deve ficar livre de bibliotecas de fuso ainda precisa de um mapa inverso puro de ordinal para ISO em calendários de conformidade definidos por datas civis e não por épocas Unix.
Se depois precisar de contagens de dias úteis entre duas datas, idade a partir de data de nascimento, números completos de dia juliano ou numeração de semana do ano sob ISO oito mil seiscentos e um, trate-os como intenções de busca e landings separados em vez de sobrecarregar esta página de conversor dia-do-ano-para-data.
Casos de uso
Séries ordinais para relatórios civis
Converta rótulos de dia do ano armazenados em ISO YYYY-MM-DD para painéis, faturas e relatórios a stakeholders que exigem datas do calendário civil.
Materialização científica e sazonal
Mapeie eixos de pesquisa 1–366 de volta a datas de primeiro de março ou de colheita com comprimentos corretos de fevereiro bissexto.
Perguntas frequentes
Ele trata anos bissextos?
Sim. Aplicam-se as regras bissextas gregorianas: divisível por 4, exceto séculos que devem ser divisíveis por 400. O dia 366 só é aceito em bissextos e fevereiro tem 29 dias ao mapear ordinais no meio do ano.
É o mesmo que a calculadora de dia do ano?
Não. Aquela ferramenta transforma uma data ISO em um ordinal. Este conversor é o inverso: ano mais ordinal em uma data civil. Intenção de busca e slug diferentes.
Quanto custa?
A ferramenta do navegador é grátis e roda localmente.
O que acontece se eu digitar o dia 366 em um ano comum?
Ele é recusado com uma mensagem que informa a duração do ano, por exemplo 365 dias para 2023. O dia nunca passa para o ano seguinte, e o dia 0 nunca é aceito.
Como sei quantos dias faltam no ano?
O resultado mostra, ao lado da data, os dias que faltam até 31 de dezembro. O dia 61 de 2024, por exemplo, deixa 305 dias até o fim do ano.
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/date-from-dayofyear \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"day_of_year":61}'const res = await fetch("https://api.kit.forhosting.com/date/date-from-dayofyear", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"day_of_year": 61
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/date-from-dayofyear",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"day_of_year": 61
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/date-from-dayofyear", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"day_of_year":61}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"day_of_year":61}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/date-from-dayofyear", 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
{
"year": 2024,
"day_of_year": 61
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.date_from_dayofyear",
"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
Ordinais inteiros que excedem o número de dias daquele ano, como trezentos e sessenta e seis em dois mil vinte e três, também falham com mensagem que nomeia o comprimento do ano para o cliente corrigir a entrada sem adivinhar. Se já tem uma data ISO e precisa do ordinal, use a calculadora separada de dia do ano em vez de sobrecarregar este conversor inverso. Envie dois campos numéricos obrigatórios: year como inteiro de um a nove mil novecentos e noventa e nove, e day_of_year como inteiro de um até trezentos e sessenta e cinco ou trezentos e sessenta e seis conforme o status bissexto. Campos ausentes, cadeias não numéricas, NaN, Infinity e valores fracionários falham com invalid_input e não são cobrados. Em sucesso a resposta ecoa year e day_of_year, devolve date como cadeia de calendário ISO normalizada, componentes numéricos month e day, 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, e uma cadeia formula curta que documenta o passeio de meses e a regra bissexta. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.
Onde a conversão de dia do ano para data aparece 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
Decodificação de partições em lote
Transforme ordinais de partição de armazém e logs em datas ISO estáveis com invalid_input claro quando o ordinal excede o comprimento daquele ano.
Perguntas técnicas
Quais entradas o conversor de dia do ano para data precisa?
Dois inteiros: year (1–9999) e day_of_year (1 até 365 em ano comum ou 366 em bissexto). Ambos os campos são obrigatórios.
O que acontece se day_of_year for 366 em um ano comum?
A requisição falha com invalid_input e não é cobrada. O erro explica que o ordinal excede o número de dias daquele ano.