Services webmasters
Partenaires
Jeux concours gratuits
 
mktime
<<<
strftime strtotime
>>>

7.17 Dates et heures
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
checkdate
date
getdate
gettimeofday
gmdate
gmmktime
gmstrftime
localtime
microtime
mktime
->strftime
strtotime
time

7.17.17 strftime() Formate une date/heure locale avec les options locales.

[ Exemples avec strftime ]   PHP 3, PHP 4

string  strftime ( string   format , int   timestamp )

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 .

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

  • %a - nom abrégé du jour de la semaine (local).
  • %A - nom complet du jour de la semaine (local).
  • %b - nom abrégé du mois (local).
  • %B - nom complet du mois (local).
  • %c - représentation préférée pour les dates et heures, en local.
  • %C - numéro de siècle (l'année, divisée par 100 et arrondie entre 00 et 99)
  • %d - jour du mois en numérique (intervalle 01 à 31)
  • %D - identique à %m/%d/%y
  • %e - numéro du jour du mois. Les chiffres sont précédés d'un espace (de ' 1' à '31')
  • %h - identique à %b
  • %H - heure de la journée en numérique, et sur 24-heures (intervalle de 00 à 23)
  • %I - heure de la journée en numérique, et sur 12- heures (intervalle 01 à 12)
  • %j - jour de l'année, en numérique (intervalle 001 à 366)
  • %m - mois en numérique (intervalle 1 à 12)
  • %M - minute en numérique
  • %n - newline character
  • %p - soit `am' ou `pm' en fonction de l'heure absolue, ou en fonction des valeurs enregistrées en local.
  • %r - l'heure au format a.m. et p.m.
  • %R - l'heure au format 24h
  • %S - secondes en numérique
  • %t - tabulation
  • %T - l'heure actuelle (égal à %H:%M:%S)
  • %u - le numéro de jour dans la semaine, de 1 à 7. (1 représente Lundi)
  • %U - numéro de semaine dans l'année, en considérant le premier dimanche de l'année comme le premier jour de la première semaine.
  • %V - le numéro de semaine comme défini dans l'ISO 8601:1988, sous forme décimale, de 01 à 53. La semaine 1 est la première semaine qui a plus de 4 jours dans l'année courante, et dont Lundi est le premier jour.
  • %W - numéro de semaine dans l'année, en considérant le premier lundi de l'année comme le premier jour de la première semaine
  • %w - jour de la semaine, numérique, avec Dimanche = 0
  • %x - format préféré de représentation de la date sans l'heure
  • %X - format préféré de représentation de l'heure sans la date
  • %y - l'année, numérique, sur deux chiffres (de 00 à 99)
  • %Y - l'année, numérique, sur quatre chiffres
  • %Z - fuseau horaire, ou nom ou abréviation
  • %% - un caractère `%' littéral
Note

Tous les caractères suivants ne sont pas toujours supportés par toutes les librairies 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 .

Exemple avec strftime

<?php
  setlocale
(LC_TIME, "C");
  print(
strftime("%A en Finlandais est "));
  
setlocale (LC_TIME, "fi");
  print(
strftime("%A, en Français "));
  
setlocale (LC_TIME, "fr");
  print(
strftime("%A et en Allemand "));
  
setlocale (LC_TIME, "de");
  print(
strftime("%A.\n"));
?>
Cet exemple ne fonctionnera que si vous avez les configurations respectives installées sur votre système.

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. Voyez l'exemple %V ci-dessus et l'exemple ci-dessous.

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
print "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
print "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
print "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
print "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& color="#FF8000">// Affiche : 12/31/2004 - %V,%G,%Y = 53,2004,2004
print "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
print "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
print "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Voir aussi strftime , setlocale , mktime et le groupe de spécifications de strftime() .

<< strftime >>
mktime Dates et heures strtotime
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -