jdtogregorian()
Aprende a usar la función jdtogregorian() de PHP para convertir números de día juliano a fechas del calendario gregoriano con ejemplos prácticos.
Introducción
En este artículo, analizaremos la función jdtogregorian() de PHP y su uso para convertir fechas julianas a fechas gregorianas. También profundizaremos en la historia y la importancia de los calendarios juliano y gregoriano, así como en las diferencias entre ambos.
Los calendarios juliano y gregoriano
El calendario juliano fue introducido por Julio César en el año 45 a. C. y se basaba en el concepto del año solar, es decir, el tiempo que tarda la Tierra en completar una órbita alrededor del sol. Sin embargo, el calendario juliano tenía un pequeño defecto que lo hacía desviarse del año solar aproximadamente 11 minutos por año. Esto puede no parecer una diferencia significativa, pero con el tiempo provocó un desplazamiento notable en las fechas del calendario.
Para corregir este problema, el papa Gregorio XIII introdujo el calendario gregoriano en 1582 d. C. El calendario gregoriano fue un refinamiento del calendario juliano y tenía como objetivo alinear las fechas del calendario con el año solar. La diferencia entre ambos calendarios es que el juliano tenía 365,25 días al año, mientras que el gregoriano tiene 365,2425 días. Este ajuste supuso la eliminación de los años bisiestos en los años terminados en "00", salvo que fueran divisibles entre 400.
Fechas julianas
Las fechas julianas son un sistema de conteo de días desde el 1 de enero de 4713 a. C., fecha en que comenzó el período juliano. Las fechas julianas se utilizan habitualmente en astronomía y se basan en el número de días transcurridos desde el inicio del período juliano.
Convertir fechas julianas a fechas gregorianas
La función jdtogregorian() de PHP convierte un número de día juliano (Julian Day Count) en una fecha del calendario gregoriano. Forma parte de la extensión de calendario de PHP, que está habilitada por defecto en la mayoría de las compilaciones.
Sintaxis
jdtogregorian(int $julian_day): string$julian_day es el número de día juliano que se desea convertir. La función devuelve la fecha gregoriana correspondiente como un string en el formato mes/día/año — por ejemplo 10/4/2021. Los valores no se rellenan con ceros (se obtiene 10/4/2021, no 10/04/2021), y un día juliano de 0 devuelve la cadena centinela 0/0/0.
Un Julian Day Count es un entero simple que cuenta los días desde el 1 de enero de 4713 a. C. No debe confundirse con una fecha del calendario juliano — son dos cosas distintas. Para obtener un Julian Day Count a partir de una fecha gregoriana, usa
gregoriantojd()ocal_to_jd().
Ejemplo básico
Convirtamos el número de día juliano 2459492 a su fecha gregoriana:
<?php
echo jdtogregorian(2459492);Salida:
10/4/2021Reformatear la salida a ISO 8601
Dado que la cadena devuelta usa el formato mes/día/año sin relleno de ceros, analízala con los caracteres de formato n/j/Y (n = mes sin ceros iniciales, j = día sin ceros iniciales) cuando necesites un valor estándar YYYY-MM-DD:
<?php
$gregorian = jdtogregorian(2459492); // "10/4/2021"
$date = date_create_from_format('n/j/Y', $gregorian);
echo $date->format('Y-m-d');Salida:
2021-10-04Consulta date_create_from_format() para más información sobre el análisis de fechas en formatos personalizados.
Conversión de ida y vuelta
jdtogregorian() es la función inversa de gregoriantojd(). Convertir una fecha a un número de día juliano y viceversa devuelve el valor original:
<?php
$jd = gregoriantojd(10, 4, 2021); // month, day, year
echo $jd, "\n"; // 2459492
echo jdtogregorian($jd); // 10/4/2021Salida:
2459492
10/4/2021Funciones de calendario relacionadas
Al trabajar con números de día juliano, a menudo recurrirás a estas funciones complementarias:
gregoriantojd()— convierte una fecha gregoriana a un número de día juliano (la función inversa a esta).jdtojulian()— convierte un número de día juliano a una fecha del calendario juliano.cal_to_jd()ycal_from_jd()— conversiones genéricas con soporte de calendario.jddayofweek()— obtiene el día de la semana para un número de día juliano.
Conclusión
En conclusión, la función jdtogregorian() de PHP es una herramienta útil para convertir fechas julianas a fechas gregorianas. Comprender la diferencia entre ambos calendarios y la importancia de su introducción puede proporcionar una visión más profunda del desarrollo de los sistemas de medición del tiempo. Esperamos que este artículo te haya ofrecido una comprensión completa del tema y te haya sido de ayuda en tu búsqueda de información.