Conversor de data ordinal ISO
O dia 15 de março de 2024 é o dia 75 do ano, escrito 2024-075 na forma ordinal ISO. Converta qualquer data no seu número de dia do ano e de volta, com os anos bissextos já considerados. 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
- Ano
- 2.024
- Mês
- 3
- Dia
- 15
- Dia do ano
- 75
A norma ISO 8601 define duas formas de data civil que compartilham o mesmo ano, mas expressam o dia de maneira diferente: a conhecida trinca de calendário ano-mês-dia e a forma ordinal, ano mais dia do ano de 1 a 365 ou 366. Pipelines que armazenam números de dia sequenciais, conjuntos de dados científicos, manifestos de logística e registros de conformidade costumam precisar de uma ponte sem perdas entre esses formatos, sem depender de objetos Date da linguagem hospedeira nem de peculiaridades de fuso horário.
Forma de calendário, forma ordinal e quando usar cada direção
Uma data de calendário ISO é escrita como ano de quatro dígitos, mês de dois dígitos e dia de dois dígitos separados por hífens, por exemplo 2024-03-15 para 15 de março. Uma data ordinal ISO usa o mesmo ano, um hífen e um dia do ano de três dígitos que vai de 001 em 1º de janeiro até 365 em um ano comum ou 366 em um ano bissexto gregoriano.
Converta de calendário para ordinal quando precisar de um índice de dia compacto para um ano, nomes de arquivo sequenciais ou análises que tratam cada dia como um eixo inteiro. Converta de ordinal para calendário quando um feed só envia o dia do ano e sua interface, fatura ou validador espera mês e dia.
Anos bissextos, duração do ano e erros de dia do ano inválido
Pelas regras gregorianas, um ano é bissexto quando é divisível por quatro, exceto que os anos seculares também precisam ser divisíveis por quatrocentos. Anos bissextos têm 366 dias e um fevereiro de 29 dias; anos comuns têm 365 dias e um fevereiro de 28 dias. É por isso que o ano 2000 é bissexto, 1900 não é, e 2024 é bissexto enquanto 2023 não é.
Entradas de calendário com um dia impossível para o mês, como 31 de abril ou 29 de fevereiro em um ano não bissexto, também são rejeitadas.
Casos de uso
Índices de dia científicos e de sensores
Pipelines de pesquisa armazenam amostras como ano mais dia do ano; converta para datas de calendário nos relatórios e de volta à forma ordinal em arquivos compactos, sem desvio do Date do hospedeiro.
Logística e nomeação de arquivos em lote
Depósitos e trabalhos em lote nomeiam arquivos com sequências YYYY-DDD e precisam de uma ponte confiável para rótulos YYYY-MM-DD legíveis em telas e faturas.
Validação de feeds ordinais
Integrações que recebem o dia do ano de parceiros rejeitam valores excedentes, como o dia 366 em um ano não bissexto, antes que entrem nos sistemas de cobrança ou agendamento.
Perguntas frequentes
O que acontece se o dia ordinal exceder a duração do ano?
Por exemplo, o dia 366 em um ano não bissexto, ou qualquer dia acima de 366, é rejeitado e não é cobrado.
O conversor de data ordinal ISO é gratuito?
A ferramenta do navegador roda grátis no seu dispositivo.
Qual é a data ordinal de 15 de março de 2024?
É 2024-075, porque 15 de março é o 75º dia de 2024. Primeiro vem o ano e depois uma contagem de três dígitos que começa em 001 no dia 1º de janeiro.
Por que um ano bissexto muda o número do dia depois de fevereiro?
O ano bissexto acrescenta o dia 29 de fevereiro, então cada data a partir de 1º de março recebe um número uma unidade maior do que num ano comum. Por isso a contagem termina em 366, e não em 365.
Posso transformar um número de dia do ano em uma data normal?
Sim. Digite o ano e o número do dia, por exemplo 2024-075, e receba o mês e o dia, neste caso 15 de março de 2024. Um número maior que a duração daquele ano é recusado.
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/ordinal-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-03-15","calendar":"valor-ejemplo"}'const res = await fetch("https://api.kit.forhosting.com/date/ordinal-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-03-15",
"calendar": "valor-ejemplo"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/ordinal-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-03-15",
"calendar": "valor-ejemplo"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/ordinal-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-03-15","calendar":"valor-ejemplo"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-03-15","calendar":"valor-ejemplo"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/ordinal-date", 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",
"calendar": "valor-ejemplo"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.ordinal_date",
"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
Este conversor de data ordinal ISO mapeia YYYY-MM-DD para YYYY-DDD e na direção inversa com aritmética gregoriana determinística de anos bissextos, rejeita valores de dia do ano que excedam a duração real do ano e devolve as duas representações com campos estruturados em um único payload JSON.
Forma de calendário, forma ordinal e quando usar cada direção
Envie uma string de data, uma string ordinal, ano mais mês mais dia, ou ano mais day_of_year; apelidos como calendar_date, ordinal_date, doy e ddd são aceitos quando documentados. Não misture modos opostos em uma mesma requisição: o motor rejeita payloads ambíguos com invalid_input para que quem chama corrija o corpo em vez de adivinhar qual campo prevalece. Entradas idênticas sempre geram JSON idêntico porque o caminho nunca lê o relógio do sistema, a localidade nem a rede.
Anos bissextos, duração do ano e erros de dia do ano inválido
Ao converter de ordinal para calendário, qualquer dia do ano menor que um ou maior que a duração do ano falha com invalid_input e uma mensagem que informa os dias reais daquele ano — por exemplo, o dia 366 em 2023 excede a duração do ano. A resposta devolve is_leap_year e days_in_year para que painéis mostrem os fatos do ano sem uma segunda chamada.
Uso da API, preços, fluxos de trabalho e limites práticos
Chame o conversor gratuito de data ordinal ISO no navegador para conferir lições de casa, demonstrações de entrada de dados e verificações rápidas sem instalar bibliotecas de calendário. Os limites de ano seguem o intervalo de parâmetros publicado por segurança de isolamento e ferramentas civis ISO comuns. Envie um corpo JSON com um modo claro: date como YYYY-MM-DD, ordinal como YYYY-DDD, ano mês e dia estruturados, ou ano e day_of_year estruturados. Em caso de sucesso, o payload inclui calendar_date, ordinal_date, os componentes numéricos, direction igual a to_ordinal ou to_calendar, calendar igual a gregorian e method igual a iso_ordinal_date para roteadores e testes que ramificam por rótulos. Use a API pré-paga quando uma plataforma de logística, um pipeline científico, um arquivo de conformidade ou um SDK precisar de um contrato estável sob saldo KIT a US$ 0,002 por item bem-sucedido; falhas de validação nunca consomem saldo depois que o motor rejeita a requisição. Combine este endpoint com ferramentas de dias no mês quando você só precisar da duração de fevereiro, ou com formatadores quando o próximo passo for a exibição localizada de uma data de calendário já normalizada.
Perguntas técnicas
Como converter YYYY-MM-DD em uma data ordinal ISO?
Envie um JSON com date definido como uma string de calendário, por exemplo 2024-03-15, ou envie year, month e day. A resposta inclui ordinal_date como YYYY-DDD e day_of_year como inteiro.
Como converter YYYY-DDD de volta para uma data de calendário?
Envie ordinal como 2024-075, ou envie year mais day_of_year. A resposta devolve calendar_date como YYYY-MM-DD com mês e dia preenchidos.
Esta ferramenta usa Date do JavaScript ou fusos horários?
Não. A conversão usa aritmética pura de anos bissextos gregorianos e comprimentos acumulados de meses, portanto os resultados são idênticos em qualquer ambiente e seguros para testes golden.