(PHP 4, PHP 5)
strftime — Formate une date/heure locale avec la configuration locale
strftime() retourne la date sous la forme d'une chaîne formatée conformément au format format , en utilisant le timestamp timestamp donné. Si le timestamp est omis, la date actuelle est utilisée. Les mois et jours de la semaine, et toutes les chaînes dépendantes de la langue sont fixées avec la commande setlocale() .
Tous les caractères modificateurs ne sont pas toujours supportés par toutes les bibliothèques C. Dans ce cas, ils ne seront pas supportés par PHP non plus. De plus, toutes les plates-formes ne supportent pas les timestamps négatifs, et vos dates pourraient être limitées par le début de l'époque Unix. Cela signifie que %e, %T, %R et %D (et peut être d'autres) et les dates antérieures au 1er Janvier 1970 ne fonctionneront pas sous Windows, sur certaines distributions de Linux, et sur certains systèmes d'exploitation. Pour Windows, une liste complète des options de conversion est disponible sur le » site de MSDN .
Les caractères suivants sont utilisés pour spécifier le format de la date :
%u - le numéro de jour dans la semaine, de 1 à 7. (1 représente Lundi)
Les systèmes Sun Solaris semblent commencer le Dimanche à 1 malgré le fait que le standard ISO 9889:1999 (actuellement le standard C) spécifie clairement le début de la semaine à Lundi.
Le paramètre optionnel timestamp est un timestamp Unix de type entier qui vaut par défaut l'heure courante locale si le paramètre timestamp n'est pas fourni. En d'autres termes, il faut par défaut la valeur de la fonction time() .
Chaque appel à une fonction date/heure générera un message de type E_NOTICE si le fuseau horaire n'est pas valide., et/ou un message de type E_STRICT si vous utilisez la configuration du système ou la variable d'environnement TZ . Voir aussi date_default_timezone_set()
Version | Description |
---|---|
5.1.0 | Émet un message de type E_STRICT et E_NOTICE lors d'erreurs de fuseaux horaires. |
Cet exemple ne fonctionnera que si vous avez les locales respectives installées sur votre système.
Exemple 603. Exemple avec strftime()
<?php
setlocale
(
LC_TIME
,
"C"
);
echo
strftime
(
"%A"
);
setlocale
(
LC_TIME
,
"fi_FI"
);
echo
strftime
(
" in Finnish is %A,"
);
setlocale
(
LC_TIME
,
"fr_FR"
);
echo
strftime
(
" in French %A and"
);
setlocale
(
LC_TIME
,
"de_DE"
);
echo
strftime
(
" in German %A.\n"
);
?>
Exemple 604. Exemple au format de date ISO 8601:1988
<?php
/* December 2002 / January 2003
ISOWk M Tu W Thu F Sa Su
----- ----------------------------
51 16 17 18 19 20 21 22
52 23 24 25 26 27 28 29
1 30 31 1 2 3 4 5
2 6 7 8 9 10 11 12
3 13 14 15 16 17 18 19 */
// Affiche : 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo
"12/28/2002 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"12/28/2002"
)) .
"\n"
;
// Affiche : 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo
"12/30/2002 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"12/30/2002"
)) .
"\n"
;
// Affiche : 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo
"1/3/2003 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"1/3/2003"
)) .
"\n"
;
// Affiche : 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo
"1/10/2003 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"1/10/2003"
)) .
"\n"
;
/* December 2004 / January 2005
ISOWk M Tu W Thu F Sa Su
----- ----------------------------
51 13 14 15 16 17 18 19
52 20 21 22 23 24 25 26
53 27 28 29 30 31 1 2
1 3 4 5 6 7 8 9
2 10 11 12 13 14 15 16 */
// Affiche : 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo
"12/23/2004 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"12/23/2004"
)) .
"\n"
;
// Affiche : 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo
"12/31/2004 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"12/31/2004"
)) .
"\n"
;
// Affiche : 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo
"1/2/2005 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"1/2/2005"
)) .
"\n"
;
// Affiche : 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo
"1/3/2005 - %V,%G,%Y = "
.
strftime
(
"%V,%G,%Y"
,
strtotime
(
"1/3/2005"
)) .
"\n"
;
?>
Note: %G et %V, qui sont basées sur la semaine ISO 8601:1988, peut conduire à des résultat inattendus (bien que corrects) si le système de numérotation n'est pas connu. Voir l'exemple %V de cette page.
setlocale() |
mktime() |
strptime() |
le » groupe de spécifications de strftime() |