jdtogregorian()
Découvrez la fonction jdtogregorian() en PHP pour convertir des numéros de jour julien en dates du calendrier grégorien, avec des exemples pratiques.
Introduction
Dans cet article, nous allons aborder la fonction jdtogregorian() en PHP et son utilisation pour convertir des dates juliennes en dates grégoriennes. Nous allons également nous pencher sur l'histoire et l'importance des calendriers julien et grégorien, ainsi que sur leurs différences.
Calendriers julien et grégorien
Le calendrier julien a été introduit par Jules César en 45 av. J.-C. et reposait sur le concept d'année solaire, c'est-à-dire le temps que met la Terre pour effectuer une orbite complète autour du Soleil. Cependant, le calendrier julien présentait un léger défaut qui lui faisait accumuler un retard d'environ 11 minutes par an par rapport à l'année solaire. Cela peut sembler négligeable, mais avec le temps, cela a entraîné un décalage notable dans les dates du calendrier.
Pour corriger ce problème, le calendrier grégorien a été introduit par le pape Grégoire XIII en 1582 apr. J.-C. Le calendrier grégorien était un perfectionnement du calendrier julien visant à aligner les dates du calendrier sur l'année solaire. La différence entre les deux calendriers réside dans le fait que le calendrier julien comptait 365,25 jours par an, tandis que le calendrier grégorien en compte 365,2425. Cet ajustement a conduit à la suppression des années bissextiles pour les années se terminant par « 00 », sauf si elles étaient divisibles par 400.
Dates juliennes
Les dates juliennes constituent un système de comptage des jours depuis le 1er janvier 4713 av. J.-C., date du début de la période julienne. Elles sont couramment utilisées en astronomie et correspondent au nombre de jours écoulés depuis le début de cette période julienne.
Convertir des dates juliennes en dates grégoriennes
La fonction jdtogregorian() en PHP convertit un numéro de jour julien (Julian Day Count) en date du calendrier grégorien. Elle fait partie de l'extension calendar de PHP, activée par défaut dans la plupart des compilations.
Syntaxe
jdtogregorian(int $julian_day): string$julian_day est le numéro de jour julien à convertir. La fonction retourne la date grégorienne correspondante sous forme de string au format mois/jour/année — par exemple 10/4/2021. Notez que les parties ne sont pas complétées par des zéros (on obtient 10/4/2021 et non 10/04/2021), et qu'un numéro de jour julien de 0 retourne la chaîne sentinelle 0/0/0.
Un numéro de jour julien (Julian Day Count) est un entier simple comptant les jours depuis le 1er janvier 4713 av. J.-C. À ne pas confondre avec une date du calendrier julien — ce sont deux choses différentes. Pour obtenir un numéro de jour julien à partir d'une date grégorienne, utilisez
gregoriantojd()oucal_to_jd().
Exemple de base
Convertissons le numéro de jour julien 2459492 en sa date grégorienne :
<?php
echo jdtogregorian(2459492);Résultat :
10/4/2021Reformater la sortie en ISO 8601
Étant donné que la chaîne retournée utilise le format mois/jour/année sans remplissage par des zéros, analysez-la avec les caractères de format n/j/Y (n = mois sans zéro initial, j = jour sans zéro initial) lorsque vous avez besoin d'une valeur AAAA-MM-JJ standard :
<?php
$gregorian = jdtogregorian(2459492); // "10/4/2021"
$date = date_create_from_format('n/j/Y', $gregorian);
echo $date->format('Y-m-d');Résultat :
2021-10-04Consultez date_create_from_format() pour en savoir plus sur l'analyse des dates à partir de formats personnalisés.
Aller-retour d'une date
jdtogregorian() est l'inverse de gregoriantojd(). Convertir une date en numéro de jour julien puis l'inverser retourne la valeur d'origine :
<?php
$jd = gregoriantojd(10, 4, 2021); // month, day, year
echo $jd, "\n"; // 2459492
echo jdtogregorian($jd); // 10/4/2021Résultat :
2459492
10/4/2021Fonctions de calendrier associées
Lorsque vous travaillez avec des numéros de jour julien, vous aurez souvent recours à ces fonctions complémentaires :
gregoriantojd()— convertit une date grégorienne en numéro de jour julien (l'inverse de cette fonction).jdtojulian()— convertit un numéro de jour julien en date du calendrier julien.cal_to_jd()etcal_from_jd()— conversions génériques prenant en compte le calendrier.jddayofweek()— obtient le jour de la semaine pour un numéro de jour julien.
Conclusion
En conclusion, la fonction jdtogregorian() en PHP est un outil utile pour convertir des dates juliennes en dates grégoriennes. Comprendre la différence entre les deux calendriers et l'importance de leur introduction permet de mieux saisir l'évolution des systèmes de mesure du temps. Nous espérons que cet article vous a fourni une compréhension complète du sujet et vous a aidé dans votre recherche d'informations.