une ligne de PHP pour tout savoir sur la date et l'heure

La date et l'heure en PHP

Vous codez en PHP, et vous devez manipuler les dates ; Comment récupérer rapidement l'année, le mois, le jour, l'heure, les minutes et les secondes ? 6 variables, 3 fonctions et 1 seule ligne de code suffisent.

Comme je vous sais impatients, pas besoin d'un roman:

<?php
list($y,$m,$d,$h,$i,$s) = explode('-',date('Y-m-d-H-i-s'));
?>

Vous venez de déclarer 6 variables, chacune contenant respectivement les valeurs suivantes :

  • $y : L'année en cours : 2010
  • $m : Le mois en cours : 10
  • $d : la date du jour : 14
  • $h : l'heure : 19
  • $i : les minutes : 55
  • $s : les secondes : 04

Pour faire simple (très simple) :

  • La fonction list, (qui n'est d'ailleurs pas vraiment une fonction ) permet d'envoyer le contenu d'un tableau dans une liste de variables.
  • La fonction explode (ça c'est une fonction) retourne un tableau en découpant une chaine de caractère selon le séparateur de votre choix.
  • Enfin la fonction date vous retourne ... (suspens)...  la date! Sous forme de chaine, selon le format qui vous chante.

C'est quoi ce $i ?

La fonction date propose une multitude de "formateurs", dont le "i", correspondant aux minutes (le "m" étant déjà pris pour le mois). Pour le reste, $y comme Year, $m comme Month, $d comme day, $h comme Hour, $s comme Seconds.

Plus d'infos :

La semaine prochaine, comment fabriquer un turboréacteur avec un trombone et une brosse à dents.

Commentaires

  • Michael
    • 1. Michael Le Lun 28 Mars 2011
    votre exemple est très mauvais car il demande beaucoup plus de mémoire que nécessaire et un buffer trop important à grande echelle ou à boucle longue.
    Je conseillerais plutôt cela :
    y$=date('Y');
    $m=date('m');
    $d=date('d');
    et ainsi de suite..
    La fonction date sera mise en cache, donc les 5 appels seront très courts, sans accès calcul.
    ma solution effectue plusieurs micro-opération, sans surcharge mémoire ou abbus de buffer, plus favorable à un serveur configuré en SMP.
    Moins un serveur utilise de mémoire et plus il va vite.
    Plus le nombre de micro-opérations est important et plus l'utilisation du SMP est favorable.
    Et donc moins ça consomme, moins ça surcharge, plus il est accessible et plus le client est satisfait !
    Une ligne de code qui fait 6 choses, cachant 3 manipulations est une abération.
    ps : si vous n'êtes pas convaincu, faites une boucle à 1 millions d'itérations et analyser la mémoire et la charge.
  • Mystik-Factory » [PHP] Une vraie utilité à la fonction List
    [...] [Via Awelty] [...]
  • xavier
    • 3. xavier Le Ven 15 Oct 2010
    Très pratique et cela permet d'économiser quelques lignes de code! Belle argutie que les développeurs ne manqueront pas de s'en rappeler!
  • Florian
    Un bon article bien expliqué ! bravo Nico :-D D'ailleurs je m'en inspirerai pour un article ce midi ^^

Ajouter un commentaire