Cours ⇒ Cour PHP facebook twitter youtube

Les fonctions ⇒ & Fonctions de date



La fonction date() retourne une date sous forme d’une chaîne, au format donné par le
premier paramètre. La date est fournie par le second paramètre sous la forme d’un timestamp
Unix. Si le second paramètre n’est pas renseigné, la date courante est utilisée.
Le format utilisé en premier paramètre permet de définir ce qui sera retourné par la fonction.
Par exemple, la chaîne Y-m-d permet d’afficher la date sous la forme 2004-01-31.

<?php
         $format = 'd-m-y, H:i:s' ;
         $date = date($format) ;
         echo $date ;
         // Affiche une date sous la forme : :18-07-12, 21:37:44 
         ?>

Les paramètres du format de date

Caractère Description Exemple
d Jour du mois, sur deux chiffres (avec un zéro initial) 01 à 31
g Heure, au format 12h, sans les zéros initiaux 1 à 12
G Heure, au format 24h, sans les zéros initiaux 0 à 23
h Heure, au format 12h, avec les zéros initiaux 01 à 12
H Heure, au format 24h, avec les zéros initiaux 00 à 23
i Minute avec les zéros initiaux 00 à 59
j Jour du mois sans les zéros initiaux 1 à 31
m Mois au format numérique, avec zéros initiaux 01 à 12
M Mois, en trois lettres, en anglais Jan à Dec
n Mois sans les zéros initiaux 1 à 12
s Seconde avec zéros initiaux 00 à 59
W Numéro de la semaine dans l'année 42
Y Année à quatre chiffres 2012
y Année à deux chiffres 04
Z Jour de l'année 312

 

 

 

 

Pour calculer un timestamp à partir d'une représentation de date, pour pouvez utiliser lafonction strtotime(), qui convertit une date ISO en timestamp. Il existe plusieurs
formats de date, mais ceux que vous rencontrerez sur Internet (dans les formats de
fichiers standards ou dans les bases de données par exemple) seront généralement
compris par strtotime().

<?php
   echo strtotime ('16 November 1976');
   echo strtotime ('1976-11-16');
 ?>


De plus, certaines bases de données disposent de fonctions pour convertir leurs propres
formats de date en timestamps (avec MySQL, on utilise la fonction UNIX_TIMESTAMP()).
Pour obtenir un timestamp à partir des différentes composantes d'une date, on utilise la


fonction mktime() :

   mktime (heure, minute, secondes, mois, jour, annee)
<?php
         echo date("d/M/Y", mktime (0,0,0,12,32,2012))."<br>";
         echo date("d/m/Y", mktime (0,0,0,13,1,2011))."<br>";
         echo date("M-d-Y", mktime (0,0,0,1,1,2021));
         ?>

Comparer les dates

Les fonctions de date peuvent être utiles à de nombreuses autres tâches, par exemple
vérifier la validité d'une date (pour contrôler une valeur saisie par un utilisateur).


checkdate ( mois, jour, annee )


La fonction checkdate() renvoie TRUE si la date représentée par le jour, le mois et l'année
donnés en paramètres est valide, FALSE sinon. Les années bissextiles sont prises en
compte.

<?php
         // On récupère la date d'anniversaire fournie
         // sous la forme JJ/MM/AAAA
         $anniversaire = $_REQUEST['anniversaire'];
         $tab = explode("/",$anniversaire);
         // On vérifie que cette date est valide
         if (checkdate($tab[1],$tab[0],$tab[2])){
         echo 'La date est valide.';
         }else{
         echo 'La date est invalide.';
         }
         ?>

Il est également possible, grâce aux fonctions de date, de calculer les temps d'exécution
de tout ou partie de vos scripts. Il vous faut pour cela utiliser la fonction time(), qui
renvoie le timestamp actuel, aux différents moments que vous souhaitez évaluer et de
stocker les valeurs afin de les comparer. La fonction microtime() fonctionne de manière
identique, mais renvoie aussi la partie décimale de l'heure en cours (les millionièmes de
seconde).

<?php
         function tempspasse($time)
         {
         // Calcul du temps écoulé (en secondes)
         $diff = time()-$time;
         $dif_jour = floor($diff/60/60/24);
         $diff -= $dif_jour*60*60*24;
         $dif_heure = floor($diff/60/60);
         $diff -= $dif_heure*60*60;
         $dif_min = floor($diff/60);
         $diff -= $dif_min*60;
         $dif_sec = $diff;
         return ('(Temps écoulé '.$dif_jour.'j '.$dif_heure.'h'.
         $dif_min.'m '.$dif_sec.'s)');
         }
         /* On va afficher le temps qui s'est écoulé depuis
         la création du fichier phpinfo.php: */
         echo tempspasse(filectime('index.php'));
         ?>

 


Changer le fond
Oregionale Skin
7astuces
Sélectionnez un Fond (11)
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces
Fond de contenu
7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces 7astuces