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!