lundi 1 avril 2013

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)

Aucun commentaire:

Enregistrer un commentaire