Pourquoi `date('F')` renvoie-t-il « décembre » lorsqu'il est donné « 08 » comme entrée de mois en PHP ?

Barbara Streisand
Libérer: 2024-11-05 09:34:02
original
285 Les gens l'ont consulté

Why Does `date('F')` Return

Conversion d'un numéro en nom de mois en PHP

Dans une tentative de convertir une valeur numérique de mois en son nom correspondant à l'aide de PHP, le code suivant était employé :

<code class="php">$monthNum = sprintf("%02s", $result["month"]);
$monthName = date("F", strtotime($monthNum));

echo $monthName;</code>
Copier après la connexion

Cependant, au lieu de renvoyer le nom du mois attendu (par exemple, août), il affichait par erreur « décembre ». Une enquête plus approfondie a révélé que $result["month"] était défini sur 8 et que la fonction sprintf a ajouté un zéro non significatif, ce qui a donné la valeur "08".

Solution recommandée

Pour les versions PHP modernes (>= 5.2), la méthode préférée consiste à utiliser des objets DateTime pour les calculs de date/heure. Voici une solution améliorée :

<code class="php">$monthNum  = 3;
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F'); // March</code>
Copier après la connexion

Le ! Le caractère de formatage réinitialise la date à l'époque Unix et le caractère de format m représente la valeur numérique du mois avec des zéros non significatifs.

Solution alternative

Pour les anciennes versions de PHP, un une autre approche consiste à utiliser mktime() pour créer un horodatage :

<code class="php">$monthNum  = 3;
$monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // March</code>
Copier après la connexion

N'oubliez pas que si vous préférez le mois abrégé nom (par exemple, Mar), remplacez simplement « F » par « M ». Les options de formatage détaillées peuvent être trouvées dans la documentation du manuel PHP.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!