Position actuelle: Accueil> Derniers articles> En utilisant localtime () combiné avec la fonction strftime (), il est facile de réaliser une mise en forme de temps diversifiée

En utilisant localtime () combiné avec la fonction strftime (), il est facile de réaliser une mise en forme de temps diversifiée

gitbox 2025-09-04

En PHP, le temps de traitement et les dates sont une exigence commune en matière de développement, en particulier dans les scénarios tels que la journalisation, l'affichage des données, la dénomination des fichiers, etc. Le temps de mise en forme est souvent une tâche qui ne peut pas être ignorée. PHP fournit de nombreuses fonctions pour aider les développeurs à former le temps. La combinaison des fonctions localtime () et strftime () peut facilement répondre à des besoins de formatage temporel divers.

1. Présentation de la fonction locale ()

LocalTime () est une fonction utilisée pour obtenir l'heure locale. Il renvoie un tableau contenant les différents composants de l'heure locale, y compris l'année, le mois, le jour, l'heure, la minute, les secondes, etc. Les informations de temps renvoyées par cette fonction sont basées sur l'horodatage actuel, et les informations de temps locales correspondant à l'horodatage spécifié peuvent être obtenues en spécifiant les paramètres.

 <span><span><span class="hljs-variable">$time</span></span><span> = </span><span><span class="hljs-title function_ invoke__">localtime</span></span><span>();
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$time</span></span><span>);
</span></span>

La structure du tableau retourné est la suivante:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; Deuxième
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; minute
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; Heure
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; Quel jour de la semaine (</span><span><span class="hljs-number">0</span></span><span>=Dimanche, </span><span><span class="hljs-number">1</span></span><span>=Lundi...)
    [</span><span><span class="hljs-meta">4</span></span><span>] =&gt; mois (</span><span><span class="hljs-number">0</span></span><span>=</span><span><span class="hljs-number">1</span></span><span>lune, </span><span><span class="hljs-number">11</span></span><span>=</span><span><span class="hljs-number">12</span></span><span>lune)
    [</span><span><span class="hljs-meta">5</span></span><span>] =&gt; années (depuis</span><span><span class="hljs-number">1900</span></span><span>Années de départ)
    [</span><span><span class="hljs-meta">6</span></span><span>] =&gt; Quel jour de l&#39;année (</span><span><span class="hljs-number">1</span></span><span>arriver</span><span><span class="hljs-number">366</span></span><span>)
    [</span><span><span class="hljs-meta">7</span></span><span>] =&gt; Signe d&#39;heure d&#39;été (</span><span><span class="hljs-number">0</span></span><span>=Non, </span><span><span class="hljs-number">1</span></span><span>=Oui)
)
</span></span>

Grâce à l'accès à ce tableau, nous pouvons obtenir avec précision des informations de temps pour différentes parties, telles que les heures, les minutes, les mois, etc.

2. Présentation de la fonction strftime ()

La fonction strftime () est utilisée pour formater l'heure en fonction de la chaîne de format spécifiée. Il accepte deux paramètres, le premier est la chaîne de format et la seconde est un paramètre d'horodatage facultatif, qui par défaut l'heure actuelle si elle n'est pas fournie.

 <span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"%Y-%m-%d %H:%M:%S"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>);
</span></span>

Les caractères formatés couramment utilisés comprennent:

  • % Y : Année à quatre chiffres (par exemple: 2025)

  • % M : mois à deux chiffres (01 à 12)

  • % D : date de deux chiffres (01 à 31)

  • % H : heures à deux chiffres (00 à 23)

  • % M : minutes à deux chiffres (00 à 59)

  • % S : secondes à deux chiffres (00 à 59)

De cette façon, nous pouvons convertir le temps en format dont nous avons besoin.

3. Utilisez localtime () et strftime () en combinaison

En combinant les fonctions localtime () et strftime () , nous pouvons implémenter une mise en forme temporelle flexible et diversifiée. Tout d'abord, utilisez localtime () pour obtenir le tableau de l'heure locale actuelle, puis convertissez le tableau en horodatage et utilisez Strftime () pour formater la sortie.

 <span><span><span class="hljs-comment">// Obtenez des informations de temps local pour l&#39;heure actuelle</span></span><span>
</span><span><span class="hljs-variable">$localTime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">localtime</span></span><span>();

</span><span><span class="hljs-comment">// Construire un horodatage</span></span><span>
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mktime</span></span><span>(
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>],   // Heure
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>],   // minute
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">0</span></span><span>],   // Deuxième
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">4</span></span><span>] + </span><span><span class="hljs-number">1</span></span><span>, // mois(Besoin d&#39;ajouter</span><span><span class="hljs-number">1</span></span><span>,因为数组depuis</span><span><span class="hljs-number">0</span></span><span>commencer)
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">3</span></span><span>] + </span><span><span class="hljs-number">1</span></span><span>, // date(同理Besoin d&#39;ajouter</span><span><span class="hljs-number">1</span></span><span>)
    </span><span><span class="hljs-variable">$localTime</span></span><span>[</span><span><span class="hljs-number">5</span></span><span>] + </span><span><span class="hljs-number">1900</span></span><span> // années(Besoin d&#39;ajouter</span><span><span class="hljs-number">1900</span></span><span>)
);

</span><span><span class="hljs-comment">// utiliser strftime Temps de format</span></span><span>
</span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-string">"%Y-%m-%d %H:%M:%S"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-variable">$format</span></span><span>, </span><span><span class="hljs-variable">$timestamp</span></span><span>);
</span></span>

Le code ci-dessus obtient d'abord les informations de temps locales actuelles via localtime () , puis construit un horodatage valide et utilise enfin strftime () pour formater et sortir l'heure.

4. Scénarios d'application courants

  1. Timestamp du fichier journal:

    Dans les systèmes de journalisation, nous devons souvent ajouter des horodatages à chaque journal, et les exigences du format sont très élevées. En utilisant les fonctions localtime () et strftime () , des horodatages dans plusieurs formats de temps peuvent être générés en fonction des exigences.

     <span><span><span class="hljs-variable">$logTime</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">"%Y-%m-%d %H:%M:%S"</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Heure du journal: <span class="hljs-subst">$logTime</span></span></span><span>\n";
    </span></span>
  2. Format de date personnalisé:

    Dans certains scénarios d'application, les formats de date peuvent devoir être personnalisés en fonction de la région ou des besoins des utilisateurs. Avec StraTime () , divers formats de date peuvent être facilement mis en œuvre, tels que "13 juillet 2025" ou "2025-07-13 14:35:20".

     <span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">"%YAnnée%mlune%djour"</span></span><span>, </span><span><span class="hljs-variable">$timestamp</span></span><span>);  </span><span><span class="hljs-comment">// Sortir "2025Année07lune13jour"</span></span><span>
    </span></span>
  3. Générer dynamiquement les noms de fichiers:

    Dans la dénomination des fichiers, l'utilisation d'horodatage dans le cadre du nom de fichier garantit l'unicité du nom de fichier. Par exemple: log_2025-07-13_14-35-20.txt .

     <span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">"jour志_"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">strftime</span></span><span>(</span><span><span class="hljs-string">"%Y-%m-%d_%H-%M-%S"</span></span><span>, </span><span><span class="hljs-variable">$timestamp</span></span><span>) . </span><span><span class="hljs-string">".txt"</span></span><span>;
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"nom de fichier: <span class="hljs-subst">$filename</span></span></span><span>\n";
    </span></span>

5. Résumé

En combinant les fonctions localtime () et strftime () , les développeurs PHP peuvent traiter plus de temps et dates de manière plus flexible et générer des chaînes de temps qui répondent aux formats spécifiques. Qu'il s'agisse de l'exploitation forestière, de la dénomination des fichiers ou de l'affichage dynamique des dates, la maîtrise de l'utilisation de ces deux fonctions améliorera considérablement l'efficacité du développement et la lisibilité du code.