Maison >développement back-end >tutoriel php >Pourquoi mon code PHP renvoie-t-il « décembre » au lieu de « août » lors de la conversion d'un numéro de mois en son nom ?

Pourquoi mon code PHP renvoie-t-il « décembre » au lieu de « août » lors de la conversion d'un numéro de mois en son nom ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 08:44:02934parcourir

Why does my PHP code return

Convertir le numéro en nom de mois en PHP

Votre code PHP tente de convertir un numéro de mois (8) en son nom de mois correspondant ( "Août") en utilisant la fonction date(). Malheureusement, le code renvoie « décembre » au lieu de « août ». En effet, le $monthNum a été complété par un zéro ("08") avant d'être transmis à la fonction strtotime().

Solution recommandée utilisant des objets DateTime

Pour une manipulation date/heure précise et à jour, il est fortement recommandé d'utiliser des objets DateTime. Voici une version améliorée de votre code utilisant la classe DateTime :

<code class="php">$monthNum  = 8;
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F'); // August</code>

Solution alternative pour les anciennes versions de PHP

Si vous ne pouvez pas utiliser d'objets DateTime, vous pouvez créer un timestamp à l'aide de la fonction mktime() et transmettez-le à la fonction date() :

<code class="php">$monthNum  = 8;
$monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // August</code>

Ici, mktime(0, 0, 0, $monthNum, 10) crée un horodatage représentant le 10ème jour du mois donné. Le spécificateur de format 'F' pour date() renvoie le nom complet du mois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn