date

date -- Formate une date/heure locale

Description

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 .

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

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

Les caractères suivants sont utilisés pour spécifier le format :

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

Exemple 1 . Exemple avec date( )

 
?php

 
echo

 
(

 
date("l

 
dS

 
of

 
F

 
Y

 
h:i:s

 
A"))

 
;

 
echo

 
("Le

 
14

 
Juillet

 
2002

 
tombe

 
un

 
"

 
.

 
date("l"

 
,

 
mktime(0,0,0,7,14,2002)))

 
;

 
?





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 .

Exemple 2 . Protection des caractères avec date( )

 
?php

 
echo

 
date(

 
"l

 
\\t\h\e

 
jS")

 
;

 
/

 
/

 
affiche

 
'Saturday

 
the

 
8th

 
'

 
/

 
/

 
\t

 
repr

 
eacute

 
;sente

 
une

 
tabulation

 
?





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

Exemple 3 . 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)

 
;

 
?





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' hivers 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 à utiiser des guillemets simples , pour que les séquences \n ne deviennent pas des nouvelles lignes .

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

 
ccedil;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( ) .

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