date_sunset
<<<
date getdate
>>>

6.6 Dates et heures
6 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Configuration à l'exécution
Types de ressources
Constantes pré-définies
checkdate
date_default_timezone_get
date_default_timezone_set
date_sunrise
date_sunset
->date
getdate
gettimeofday
gmdate
gmmktime
gmstrftime
idate
localtime
microtime
mktime
strftime
strptime
strtotime
time

6.6.13 date()Formate une date/heure locale

[ Exemples avec date ]   PHP 3, PHP 4, PHP 5

string  date ( string   format , int   timestamp )

date retourne une date sous forme d'une chaîne, au format donné par la chaîne format . La date est fournie par le paramètre timestamp , sous la forme d'un timestamp. Par défaut, la date courante est utilisée.

Array Array
Note

L'intervalle de validité d'un timestamp va généralement du Vendredi 13 Décembre 1901 20:45:54 GMT au Mardi 19 Janvier 2038 03:14:07 GMT. (Ces dates correspondent aux valeurs minimales et maximales des entiers 32 bits non-signés). Sur les systèmes Windows, cette intervalle va du 01-01-1970 au 19-01-2038.

Note

Pour générer un timestamp à partir d'une représentation de date, vous pouvez utiliser la fonction strtotime . De plus, certaines bases de données disposent de fonctions pour convertir leurs propres formats de date en timestamps (par exemple, MySQL et sa fonction UNIX_TIMESTAMP() ).

Les caractères suivants sont utilisés pour spécifier le format :
Caractère Description Exemple de valeur
Jour --- ---
d Jour du mois, sur deux chiffres (avec un zéro initial) 01 à 31
D Jour de la semaine, en trois lettres (et en anglais) Mon à Sun
j Jour du mois sans les zéros initiaux 1 à 31
l ( L minuscule) Jour de la semaine, textuel, version longue, en anglais Sunday à Saturday
N Représentation numérique ISO-8601 du jour de la semaine (ajouté en PHP 5.1.0) 1 (pour Lundi) à 7 (pour Dimanche)
S Suffixe ordinal d'un nombre pour le jour du mois, en anglais, sur deux lettres st , nd , rd ou th . Fonctionne bien avec j
w Jour de la semaine au format numérique 0 (pour dimanche) à 6 (pour samedi)
z Jour de l'année 0 à 366
Semaine --- ---
W Numéro de semaine dans l'année ISO-8601, les semaines commencent le lundi (ajouté en PHP 4.1.0) Exemple : 42 (la 42ème semaine de l'année)
Mois --- ---
F Mois, textuel, version longue; en anglais, comme January ou December January à December
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
t Nombre de jours dans le mois 28 à 31
Année --- ---
L Est ce que l'année est bissextile 1 si bissextile, 0 sinon.
o L'année ISO-8601. C'est la même valeur que Y , excepté que si le numéro de la semaine ISO ( W ) appartient à l'année précédente ou suivante, cette année sera utilisé à la place. (ajouté en PHP 5.1.0) Exemples : 1999 ou 2003
Y Année sur 4 chiffres Exemples : 1999 et 2003
y Année sur 2 chiffres Exemples : 99 et 03
Heure --- ---
a Ante meridiem et Post meridiem en minuscules am ou pm
A Ante meridiem et Post meridiem en majuscules AM ou PM
B Heure Internet Swatch 000 à 999
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 Minutes avec les zéros initiaux 00 à 59
s Secondes, avec zéros initiaux 00 à 59
Fuseau horaire --- ---
e L'identifiant du fuseau horaire (ajouté en PHP 5.1.0) Exemple s: UTC , GMT , Atlantic/Azores
I (i majuscule) L'heure d'été est activée ou pas 1 si oui, 0 sinon.
O Différence d'heures avec l'heure de Greenwich (GMT), exprimée en heures Exemple : +0200
T Fuseau horaire du serveur Exemples : EST , MDT ...
Z Décalage horaire en secondes. Le décalage des zones à l'ouest de la zone UTC est négative, et à l'est, il est positif. -43200 à 43200
Date et Heure complète --- ---
c Date au format ISO 8601 (ajouté en PHP 5) 2004-02-12T15:19:21+00:00
r Format de date RFC 2822 Exemple : Thu, 21 Dec 2000 16:01:07 +0200
U Secondes depuis l'époque Unix (1er Janvier 1970, 0h00 00s GMT) Voir aussi time

Les caractères non reconnus seront imprimés tels quel. " Z " retournera toujours "0" lorsqu'il est utilisé avec gmdate .

Exemple avec date

<?php
// Définit le fuseau horaire par défaut à utiliser. Disponible depuis PHP 5.1
date_default_timezone_set('UTC');

// Affichage de quelque chose comme : Monday
echo date("l");

// Affichage de quelque chose comme : Monday 15th of August 2005 03:12:46 PM
echo date('l dS \of F Y h:i:s A');

// Affiche : July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* utilise les constantes dans le paramètre format */
// Affichage de quelque chose comme : Mon, 15 Aug 2005 15:12:46 UTC
echo date(DATE_RFC822);

// Affichage de quelque chose comme : 2000-07-01T00:00:00+0000
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Vous pouvez faire afficher un caractère spécial dans la chaîne de format en le protégeant par un anti-slash. Si le caractère est lui-même une séquence incluant un anti-slash, vous devrez protéger aussi l'anti-slash.
Protection des caractères avec date

<?php
// Affichage de quelque chose comme : Wednesday the 15th
echo date("l \\t\h\e jS");
?>

Il est possible d'utiliser date et mktime ensemble pour générer des dates dans le futur ou dans le passé.
Exemples avec date et mktime

<?php
$demain
= mktime(0, 0, 0, date("m") , date("d") + 1, date("Y"));
$le_mois_dernier = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$l_an_prochain = mktime(0, 0, 0, date("m"), date("d"), date("Y") + 1);
?>

Note

Cette méthode est plus sûre que simplement ajouter ou retrancher le nombre de secondes dans une journée ou un mois à un timestamp, à cause des heures d'hiver et d'été.

Voici maintenant quelques exemples de formatage avec date . Notez que vous devriez échapper tous les autres caractères, car s'ils ont une signification spéciale, ils risquent de produire des effets secondaires indésirables. Notez aussi que les versions futures de PHP peuvent attribuer une signification à des lettres qui sont actuellement inertes. Lorsque vous échappez les caractères, pensez à utiliser des guillemets simples, pour que les séquences \n ne deviennent pas des nouvelles lignes.
Formatage avec date

<?php
// Aujourd'hui, le 12 Mars 2001, 10:16:18 pm

$aujourdhui = date("F j, Y, g:i a");                 // March 12, 2001, 10:16 pm
$aujourdhui = date("m.d.y");                         // 03.12.01
$aujourdhui = date("j, m, Y");                       // 12, 3, 2001
$aujourdhui = date("Ymd");                           // 20010312
$aujourdhui = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 12-03-01, 1631 1618 6 Monpm01
$aujourdhui = date('\C\'\e\s\t\ \l\e\ jS \j\o\u\r\.');   // C'est le 12th jour.
$aujourdhui = date("D M j G:i:s T Y");               // Mon Mar 12 15:16:08 MST 2001
$aujourdhui = date('H:m:s \m \e\s\t\ \l\e\ \m\o\i\s');     // 17:03:18 m est le mois
$aujourdhui = date("H:i:s");                         // 10:16:18

// notation française

$aujourdhui = date("d/m/y");                         // 12/03/01
$aujourdhui = date("d/m/Y");                         // 12/03/2001
?>

Pour formater des dates dans d'autres langues, utilisez les fonctions setlocale et strftime au lieu de la fonction date .

Voir aussi getlastmod , time , strftime , gmdate et mktime .

<< date >>
date_sunset Dates et heures getdate