Date et heure PHP
accueil >
Cours >
PHP >
Date et heure PHP
Cours / tutoriel écrit le 17-06-2010 par sky
Gestion de la date et heure en PHP
Date et heure PHP
Un exemple pour commencer :
<?php
$date = date("d-m-Y");
$heure = date("H:i");
echo 'Nous sommes le '.$date.' et il est '.$heure;
?>
Ce qui nous donnera :
Nous sommes le 19-05-2005 et il est 20:52
C'est donc la fonction
date() qui permet d'obtenir l'heure locale du serveur, mais attention l'heure locale est fonction de la situation géographique du serveur en lui-même.
En effet un serveur situé au canada vous donnera l'heure du canada, en ce qui nous concerne les serveurs de Free.fr sont en France donc l'heure locale sera l'heure Française.
Dans le code ci-dessus nous générons la variable $
date() en lui donnant la valeur de ce que retourne la fonction
date()("d-m-Y") en l'occurrence : 19-05-2005.
Les paramètres contenus entre les parenthèses d-m-Y peuvent être placés dans l'ordre que vous désirez, ainsi la
date au format US sera écrite ainsi : date("Y-m-d"), il existe beaucoup de paramètres.
La fonction
date(); peut prendre beaucoup d'attributs :
a : "am" (matin) ou "pm" (après-midi)
A : "AM" (matin) ou "PM" (après-midi)
d : Jour du mois, sur deux chiffres (éventuellement avec un zéros) : "01" à "31"
D : Jour de la semaine, en trois lettres (et en anglais) : par exemple "Fri" (pour Vendredi)
F : Mois, textuel, version longue; en anglais, i.e. "January" (pour Janvier)
h : Heure, au format 12h, "01" à "12"
H : heure, au format 24h, "00" à "23"
g : Heure, au format 12h sans les zéros initiaux, "1" à "12"
G : Heure, au format 24h sans les zéros initiaux, "0" à "23"
i : Minutes; "00" à "59"
j : Jour du mois sans les zéros initiaux: "1" à "31"
l : ('L' minuscule) - Jour de la semaine, textuel, version longue; en anglais, i.e. "Friday" (pour Vendredi)
L : Booléen pour savoir si l'année est bissextile ("1") ou pas ("0")
m : Mois; i.e. "01" à "12"
n : Mois sans les zéros initiaux; i.e. "1" à "12"
M : Mois, en trois lettres (et en anglais) : par exemple "Jan" (pour Janvier)
s : Secondes; i.e. "00" à "59"
S : Suffixe ordinal d'un nom
Quelques exemple en plus de date en PHP
Est-ce que l'année actuel est bissextile ?
<?php
if(date('L'))
echo 'Oui';
else
echo 'Non';
?>
On peux aussi utiliser la fonction date avec un mktime unix
<?php
// Ordre des paramètres de la fonction mkdime : mktime($hour, $minute, $second, $month, $day, $year);
$mktime = mktime(date('H'), date('i'), date('s'), date('m'), date('d')-1, date('Y')); // Mktime de hier à la même heure
echo '<p>'.date('l d F Y H:i:s', $mktime).'</p>';
?>
Autres techniques pour afficher la date
Il existe plusieurs autre fonctions en PHP pour afficher/utiliser une date en PHP :
-
mktime
-
timestamp
On peux afficher la date de hier à la même heure de cette façon avec date + time :
<?php
echo date('l d F Y H:i:s', time()-24*60*60);
?>
time() renvoie le timestamp actuel auquel on enlève l'équivalent en secondes d'un jour. (soit 60 * 60 * 24)
Commentaires
eddshalom le 03-05-2012
c´bien, je m attendais a voir le code qui affiche par exemple nous sommes jeudi 3 mai 2012
doriane56 le 05-04-2011
C'est cool
sky le 30-07-2010
Plus simple, mais moins facile à comprendre. le but de l'exemple est aussi de comprendre la puissance de mktime.
CedricG le 24-07-2010
Plus simple pour la partie mktime() :
date('l d F Y H:i:s', time()-24*60*60);
time() va renvoyer le timestamp actuel auquel on enlève l'équivalent en secondes d'un jour.
D'ailleurs, pour moi, date('d')-7 donne une semaine de moins...