jdmonthname()
Apprenez à utiliser cal_jdmonthname() en PHP pour obtenir un nom de mois à partir d'un jour julien. Syntaxe, constantes CAL_MONTH_* et exemples.
Fonction PHP : cal_jdmonthname()
La fonction PHP cal_jdmonthname() retourne le nom du mois correspondant à un jour julien donné, dans le système de calendrier que vous spécifiez. Cette page explique ce qu'est un jour julien, la syntaxe de la fonction et ses constantes de mode, des exemples exécutables, ce qu'elle retourne, ainsi que les points d'attention à connaître.
Remarque : L'URL de ce chapitre porte historiquement le nom
jdmonthname, mais la fonction PHP moderne estcal_jdmonthname(). L'ancien aliasjdmonthname()faisait partie de la famillejdque PHP a supprimée dans PHP 8.0 — utilisezcal_jdmonthname()à la place.
Syntaxe
cal_jdmonthname(int $julian_day, int $mode): string$julian_day— un jour julien (un entier), généralement produit parcal_to_jd()à partir d'une date ordinaire.$mode— le calendrier dans lequel lire le nom du mois. Les valeurs acceptées sont :
| Mode | Calendrier | Style du nom de mois |
|---|---|---|
CAL_MONTH_GREGORIAN_LONG | Grégorien | Nom complet (January) |
CAL_MONTH_GREGORIAN_SHORT | Grégorien | Abrégé (Jan) |
CAL_MONTH_JULIAN_LONG | Julien | Nom complet |
CAL_MONTH_JULIAN_SHORT | Julien | Abrégé |
CAL_MONTH_JEWISH | Juif | Nom complet |
CAL_MONTH_FRENCH | Républicain français | Nom complet |
La fonction retourne le nom du mois sous forme de chaîne de caractères. Elle repose sur l'extension calendar, qui doit être activée dans votre compilation PHP.
Qu'est-ce qu'un jour julien ?
Avant d'aborder le fonctionnement de la fonction cal_jdmonthname(), il est essentiel de comprendre ce qu'est un jour julien. Un jour julien est un décompte continu de jours qui a débuté à midi le 1er janvier 4713 av. J.-C. Il a été introduit par Joseph Scaliger en 1583 afin de faciliter les calculs astronomiques et les comparaisons de dates.
Que fait la fonction cal_jdmonthname ?
La fonction cal_jdmonthname() prend deux paramètres : le jour julien et une constante de mode (l'une des valeurs CAL_MONTH_* du tableau ci-dessus) qui sélectionne le calendrier et détermine si vous souhaitez le nom long ou abrégé. La fonction retourne le nom du mois correspondant sous forme de chaîne.
Un point de confusion fréquent : la première étape (cal_to_jd()) utilise des constantes de calendrier comme CAL_GREGORIAN, mais le mode passé à cal_jdmonthname() doit être une constante CAL_MONTH_*. Ces deux types de constantes ne sont pas interchangeables.
Voici un exemple :
Exemple de la fonction cal_jdmonthname() en PHP
<?php
// Convert today's date to a Julian day count.
$jd = cal_to_jd(CAL_GREGORIAN, (int) date("m"), (int) date("d"), (int) date("Y"));
// Read the long Gregorian month name back from that Julian day.
echo "Today is " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_LONG) . ".";
?>Pour un mois comme mars, cela affiche : Today is March.
Comment utiliser la fonction cal_jdmonthname ?
Pour utiliser la fonction cal_jdmonthname() dans votre code PHP, suivez ces étapes :
- Déterminez le jour julien correspondant à la date qui vous intéresse. Vous pouvez utiliser la fonction
cal_to_jd()pour convertir une date grégorienne en jour julien. - Appelez la fonction
cal_jdmonthname()en lui passant le jour julien et une constante de mode (par exemple,CAL_MONTH_GREGORIAN_LONGouCAL_MONTH_JULIAN_LONG). - Utilisez la valeur retournée dans votre code selon vos besoins.
Remarque : Les anciennes fonctions de l'extension jd ont été supprimées dans PHP 8.0. Utilisez toujours les fonctions cal_* pour les opérations de calendrier dans le PHP moderne.
Exemple
Voici comment lire à la fois le nom de mois long et abrégé pour la même date en ne changeant que la constante de mode :
Comment utiliser la fonction cal_jdmonthname() en PHP ?
<?php
$jd = cal_to_jd(CAL_GREGORIAN, 3, 1, 2023); // March 1, 2023
echo "Long: " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_LONG) . "\n"; // Long: March
echo "Short: " . cal_jdmonthname($jd, CAL_MONTH_GREGORIAN_SHORT) . "\n"; // Short: Mar
?>Comme seul le mode change, c'est la façon la plus propre de basculer entre les noms complets (March) et les abréviations (Mar), ou entre différents systèmes de calendrier, sans recalculer la date.
Remarque sur le calendrier julien : Passer un mode
CAL_MONTH_JULIAN_*lit le même jour julien via le calendrier julien plus ancien. Comme le calendrier julien est actuellement en retard d'environ 13 jours sur le calendrier grégorien, une date proche du début ou de la fin d'un mois peut correspondre à un autre nom de mois que celui obtenu avec la lecture grégorienne.
Avantages de l'utilisation de la fonction cal_jdmonthname
L'utilisation de la fonction cal_jdmonthname() facilite et optimise le travail avec les jours juliens en PHP. Voici quelques avantages de cette fonction :
- Gain de temps : Au lieu de calculer manuellement le nom du mois pour un jour julien donné, vous pouvez simplement appeler la fonction
cal_jdmonthname(). - Cohérence : La fonction garantit que vous obtenez le nom de mois correct à chaque fois, ce qui réduit le risque d'erreurs dans votre code.
- Flexibilité : La fonction vous permet de spécifier le système de calendrier, ce qui vous donne plus de contrôle sur la façon dont votre code affiche les informations dans différents calendriers historiques ou régionaux.
Points d'attention
- Utilisez une constante
CAL_MONTH_*, et non une constante de calendrierCAL_*. PasserCAL_GREGORIAN(valeur0) correspond par coïncidence àCAL_MONTH_GREGORIAN_LONG, maisCAL_JULIANne vous donnera pas les noms de mois juliens — utilisez plutôtCAL_MONTH_JULIAN_LONG. - L'extension
calendardoit être activée. Elle ne l'est pas dans de nombreuses compilations par défaut. Si vous obtenezCall to undefined function cal_jdmonthname(), activezext-calendardans votre configuration PHP. - Les anciens alias
jd*ont été supprimés.jdmonthname()et ses variantes ont été retirés dans PHP 8.0 ; utilisez toujours les fonctionscal_*dans le code moderne.
Fonctions associées
cal_to_jd()— convertit une date de calendrier en jour julien (l'entrée de cette fonction).cal_from_jd()— convertit un jour julien en éléments de date, y compris le numéro et le nom du mois.cal_days_in_month()— nombre de jours dans un mois donné.cal_info()— noms des mois et des jours pour un calendrier entier en une seule fois.
Conclusion
La fonction cal_jdmonthname() est un outil pratique pour les développeurs PHP travaillant avec des jours juliens : elle transforme un numéro de jour brut en un nom de mois lisible par un humain, dans le système de calendrier de votre choix. Associez-la à cal_to_jd() pour la conversion de dates, pensez à passer une constante CAL_MONTH_* et assurez-vous que l'extension calendar est activée.