W3docs

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 est cal_jdmonthname(). L'ancien alias jdmonthname() faisait partie de la famille jd que PHP a supprimée dans PHP 8.0 — utilisez cal_jdmonthname() à la place.

Syntaxe

cal_jdmonthname(int $julian_day, int $mode): string
  • $julian_day — un jour julien (un entier), généralement produit par cal_to_jd() à partir d'une date ordinaire.
  • $mode — le calendrier dans lequel lire le nom du mois. Les valeurs acceptées sont :
ModeCalendrierStyle du nom de mois
CAL_MONTH_GREGORIAN_LONGGrégorienNom complet (January)
CAL_MONTH_GREGORIAN_SHORTGrégorienAbrégé (Jan)
CAL_MONTH_JULIAN_LONGJulienNom complet
CAL_MONTH_JULIAN_SHORTJulienAbrégé
CAL_MONTH_JEWISHJuifNom complet
CAL_MONTH_FRENCHRépublicain françaisNom 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 :

  1. 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.
  2. Appelez la fonction cal_jdmonthname() en lui passant le jour julien et une constante de mode (par exemple, CAL_MONTH_GREGORIAN_LONG ou CAL_MONTH_JULIAN_LONG).
  3. 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 :

  1. 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().
  2. 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.
  3. 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 calendrier CAL_*. Passer CAL_GREGORIAN (valeur 0) correspond par coïncidence à CAL_MONTH_GREGORIAN_LONG, mais CAL_JULIAN ne vous donnera pas les noms de mois juliens — utilisez plutôt CAL_MONTH_JULIAN_LONG.
  • L'extension calendar doit être activée. Elle ne l'est pas dans de nombreuses compilations par défaut. Si vous obtenez Call to undefined function cal_jdmonthname(), activez ext-calendar dans 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 fonctions cal_* 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.

Practice

Pratique
Que retourne cal_jdmonthname() en PHP ?
Que retourne cal_jdmonthname() en PHP ?
Was this page helpful?