Calculadora del día del año a partir de una fecha
Esta calculadora convierte una fecha de calendario en su posición ordinal dentro del año.
Ejecutar — gratis
Introduzca una fecha con el formato YYYY-MM-DD y obtendrá un entero del 1 al 365, o al 366 si se trata de un año bisiesto. El cálculo aplica las reglas gregorianas, comprueba la cantidad real de días de cada mes y rechaza fechas imposibles en lugar de corregirlas silenciosamente. Resulta útil cuando una fecha legible debe transformarse en un índice anual compacto.
Convierta una fecha en un número ordinal
El día del año indica cuántos días naturales han transcurrido desde el 1 de enero hasta la fecha indicada, contando el propio 1 de enero como día 1. Escriba cuatro cifras para el año, dos para el mes y dos para el día, separadas por guiones. Una fecha de comienzos de enero devuelve un valor pequeño; una de finales de diciembre, uno cercano a 365 o 366. El resultado contiene un único entero day_of_year, fácil de guardar, comparar o reutilizar. El formato es estricto: se rechazan años abreviados, componentes reordenados, marcas de tiempo y formatos regionales ambiguos. La calculadora utiliza el calendario gregoriano y admite los años 0001 a 9999. No depende del reloj del servidor, la zona horaria, el horario de verano ni la fecha actual, por lo que una misma entrada siempre genera la misma salida.
Tratamiento de los años bisiestos y la duración de los meses
El ordinal se obtiene sumando la duración completa de los meses anteriores y el día solicitado. Febrero es el único mes variable. Según las reglas gregorianas, un año divisible por cuatro suele ser bisiesto, pero un año secular solo lo es si también es divisible por cuatrocientos. Por eso 2024 y 2000 tienen 29 de febrero, mientras que 1900 y 2100 no. La diferencia afecta a todas las fechas posteriores: el 1 de marzo es el día 61 de un año bisiesto y el 60 de uno común. Antes de sumar se aplican las mismas reglas para validar. El 31 de abril, el 30 de febrero, el día cero, el mes trece o el 29 de febrero de un año común producen un error. Nunca se desplaza una fecha inválida al mes siguiente, lo que evita que un ordinal aparentemente correcto oculte datos de origen defectuosos.
Use el resultado con fiabilidad en datos y calendarios
Los días ordinales son útiles cuando importa la posición dentro del año, pero no los límites mensuales. Permiten agrupar observaciones ambientales por estación, identificar jornadas de producción y crear secuencias anuales para gráficos. También facilitan comparar fechas del mismo año, aunque no deben sustituir la fecha original si los registros abarcan varios años: el día 32 se repite cada año. Conserve el año junto al ordinal cuando la identidad o el orden cronológico crucen un cambio de año. En eventos recurrentes, recuerde que los años bisiestos desplazan los ordinales posteriores al 28 de febrero; un mismo aniversario puede tener números distintos. Del mismo modo, un ordinal fijo puede corresponder a otra fecha alrededor de febrero. La API cuesta $0.002 por solicitud y la versión del navegador ejecuta localmente el mismo cálculo determinista, sin datos de red, ubicación geográfica ni configuración horaria.
Qué puede hacer con ella
Indexar observaciones anuales
Convierta mediciones meteorológicas, agrícolas o de laboratorio fechadas en una posición anual coherente para análisis estacionales.
Validar etiquetas de días de producción
Contraste el ordinal utilizado en fabricación, logística o lotes con la fecha original del calendario.
Preparar fechas para informes
Añada el día del año a conjuntos de datos y gráficos sin depender de la configuración regional ni horaria de una hoja de cálculo.
Preguntas frecuentes
¿Qué intervalo puede tener el resultado?
El resultado va del 1 al 365 en un año común y del 1 al 366 en un año bisiesto.
¿Qué formato de fecha se acepta?
Utilice exactamente YYYY-MM-DD, incluidos los ceros iniciales en meses y días de una cifra.
¿Cómo se determinan los años bisiestos?
Los años divisibles por cuatro son bisiestos, salvo los años seculares, que también deben ser divisibles por cuatrocientos.
¿Qué ocurre si la fecha no es válida?
La solicitud devuelve un error de entrada inválida para formatos incorrectos y fechas imposibles.
¿Depende el cálculo de una zona horaria?
No. Realiza aritmética de calendario directamente y no convierte la fecha en una marca de tiempo.
¿Cuánto cuesta una solicitud a la API?
Cada solicitud a la API cuesta $0.002. El mismo cálculo también puede ejecutarse localmente en el navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/astro/day-of-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-12-31"}'const res = await fetch("https://api.kit.forhosting.com/astro/day-of-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-12-31"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/day-of-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-12-31"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/day-of-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-12-31"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-12-31"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/day-of-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"date": "2024-12-31"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.day_of_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |