Espace membres

Bonjour Anonyme

Inscription

Email :
Mot de passe :

Mot de passe oublié ?

Nos scripts

MySpeach

MySpeach est un chat php sans base de donnée, rapide, léger et facile à prendre en main. DEMO

MyPHPUpload

MyPHPUpload est un script d'upload sécurisé écrit en PHP. DEMO

GrapAgenda

Agenda PHP et MySQL avec comptes utilisateurs et administration. DEMO

Livre PHP

création de site

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...

Pseudo
Email
Commentaire

Merci d'écrire le code ici :