Saltar al contenido

jddayofweek()

Comprender el calendario juliano

Antes de profundizar en la función jddayofweek, es fundamental comprender el calendario juliano, introducido por Julio César en el 45 a. C. Este calendario se utilizó ampliamente en toda Europa hasta la adopción del calendario gregoriano en 1582.

El calendario juliano se basa en un año de 365 días, con un año bisiesto cada cuatro años para compensar el cuarto de día adicional del año solar. Sin embargo, este enfoque genera un error de aproximadamente tres días cada 400 años, lo que llevó a la adopción del calendario gregoriano.

¿Qué es la función jddayofweek?

La función jddayofweek es una función integrada de PHP que determina el día de la semana según un número de día juliano dado. Acepta dos parámetros: julianday y mode.

El parámetro julianday es un entero que representa el número de días transcurridos desde el 1 de enero del 4713 a. C. (la época juliana). Este conteo continuo de días sirve como punto de referencia para los cálculos calendáricos.

El parámetro mode es un entero opcional que especifica el formato de retorno. Por defecto, utiliza el modo 3 (CAL_DOW_EXTENDED), que devuelve el día de la semana como un entero del 1 al 7, donde 1 representa el lunes y 7 el domingo. Otros modos devuelven nombres de días abreviados (1) o completos (2).

Cómo usar la función jddayofweek en PHP

Para usar la función jddayofweek, primero convierte tu fecha objetivo a un número de día juliano utilizando cal_to_jd. Esta función requiere el tipo de calendario y valores enteros separados para mes, día y año.

Una vez que tengas el número de día juliano, pásalo a jddayofweek junto con el modo deseado. La función devuelve el día de la semana correspondiente.

A continuación, se muestra un ejemplo que demuestra el modo predeterminado (3) y el modo 2:

La función jddayofweek() en PHP

php
<?php
// Convert Gregorian date to Julian day number
$julianDay = cal_to_jd(CAL_GREGORIAN, 3, 2, 2023);

// Mode 3 (default): Returns integer 1-7 (Monday=1, Sunday=7)
$dayInt = jddayofweek($julianDay, 3);
echo "Mode 3: Day number is {$dayInt}\n";

// Mode 2: Returns full day name
$dayName = jddayofweek($julianDay, 2);
echo "Mode 2: {$dayName}\n";
?>

En este ejemplo, convertimos la fecha gregoriana 2023-03-02 a un número de día juliano usando cal_to_jd. Luego lo pasamos a jddayofweek con el modo 3, que devuelve 5 (que representa el jueves). Usar el modo 2 devuelve el nombre completo "jueves".

Conclusión

En conclusión, la función jddayofweek es una herramienta útil para trabajar con números de días julianos en PHP. Al comprender cómo funciona esta función y cómo usarla en tu código, puedes determinar con precisión los días de la semana para conversiones de fechas históricas, astronómicas o entre calendarios.

Práctica

¿Qué hace la función jddayofweek() en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.