STRFTIME(3)        Manuel du programmeur Linux        STRFTIME(3)


NOM
       strftime - Formater la date et l'heure.

SYNOPSIS
       #include <time.h>

       size_t strftime (char *s, size_t max, const char *format,
                           const struct tm *tm);

DESCRIPTION
       La  fonction  strftime()  formate  les divers champs de la
       structure tm en fonction de  la  chaîne  de  spécification
       format,  puis place le résultat dans la chaîne s de taille
       max.

       Les caractères ordinaires présents dans la  chaîne  format
       seront  simplement  copiés dans s. Les indicateurs de con­
       version sont introduits par le caractère `%' et sont  rem­
       placés, dans la chaîne s ainsi :

       %a     Le nom abrégé du jour de la semaine, en fonction de
              la localisation en cours.

       %A     Le nom complet du jour de la semaine,  en  fonction
              de la localisation en cours.

       %b     Le  nom abrégé du mois, en fonction de la localisa­
              tion en cours.

       %B     Le nom complet du mois, en fonction de la localisa­
              tion en cours.

       %c     La  représentation  classique  de  la  date  et  de
              l'heure, suivant la localisation en cours.

       %C     Le siècle (année / 100) sous  forme  de  nombre  de
              deux chiffres. (SU)

       %d     Le  quantième  du mois sous forme de nombre décimal
              (entre 01 et 31).

       %D     Equivalent  à    %m/%d/%y.   Seulement   pour   les
              américains.   Ces  derniers  doivent  noter que les
              autres pays préfèrent le format %d/%m/%y.  Dans  un
              contexte international ce format est ambigu et doit
              être évité. (SU)

       %e     Comme %d, le quantième du mois sous forme  décimal,
              mais  l'éventuel  zéro  en tête est remplacé par un
              espace. (SU)

       %E     Modificateur : Utiliser un format de rechange. Voir
              plus bas. (SU)




GNU                        18 Mai 1999                          1





STRFTIME(3)        Manuel du programmeur Linux        STRFTIME(3)


       %G     L'année  ISO  8601  avec  le  siècle  comme  nombre
              décimal. L'année sur quatre chiffres correspond  au
              numéro  de la semaine ISO (voir %V).  C'est le même
              format que %y, sauf que si  le  numéro  de  semaine
              appartient  à l'année suivante ou précédente, c'est
              celle-ci qui est affichée à la place. (TZ)

       %g     Comme %G sans le siècle,  c'est  à  dire  avec  une
              année sur deux chiffres (00-99). (TZ)

       %h     Equivalent à %b. (SU)

       %H     L'heure,  sur  24  heures,  sous  forme  de  nombre
              décimal (entre 00 et 23).

       %I     L'heure,  sur  12  heures,  sous  forme  de  nombre
              décimal (entre 01 et 12).

       %j     Le  numéro du jour dans l'année (entre 001 et 366).
              %k L'heure (sur 24 heures)  sous  forme  de  nombre
              décimal  (intervalle 0 à 23).  Les chiffres uniques
              sont précédés d'un blanc (voir aussi %H). (TZ).

       %l     L'heure  (sur  12  heures)  sous  forme  de  nombre
              décimal  (intervalle 1 à 12).  Les chiffres uniques
              sont précédés d'un blanc (voir aussi %I). (TZ).

       %m     Le numéro du mois (entre 01 et 12).

       %M     La minute, sous forme de nombre décimal (00 à  59).

       %n     Un caractère saut-de-ligne. (SU)

       %O     Modificateur : Utiliser un format de rechange. Voir
              plus bas. (SU)

       %p     L'une des deux chaînes `AM' ou `PM' en fonction  de
              l'heure,  ou  la traduction de ces chaînes en fonc­
              tions de la localisation en cours.  Midi est traité
              comme `PM' et Minuit comme `AM'.

       %P     Comme  %p  mais  en  minuscule: `am' ou `pm' ou une
              chaîne locale équivalente. (GNU)

       %r     L'heure en notation a.m. ou p.m.  Dans la localisa­
              tion POSIX, c'est équivalent à `%I:%M:%S %p'. (SU)

       %R     L'heure  en  format  24 heures (%H:%M). (SU).  Pour
              avoir les secondes voir %T.

       %s     Le nombre de secondes écoulées depuis le  1er  Jan­
              vier 1970 à 00:00:00 UTC. (TZ).

       %S     La seconde, sous forme de nombre décimal. (00-61)



GNU                        18 Mai 1999                          2





STRFTIME(3)        Manuel du programmeur Linux        STRFTIME(3)


       %t     Un caractère Tab. (SU)

       %T     L'heure en notation 24 heures (%H:%M:%S). (SU)

       %u     Le  jour  de  la  semaine  sous forme décimal, de 1
              (Lundi) à 7.  Voir aussi %w. (SU)

       %U     Le numéro de la semaine dans l'année, sous forme de
              nombre  décimal  (00-53), en commençant le comptage
              au premier Dimanche de l'année. Voir  aussi  %V  et
              %W.

       %V     Le  numéro  de  semaine ISO 8601:1988 de l'année en
              cours sous forme de nombre  décimal  dans  l'inter­
              valle  01-53, où la semaine 1 est la première ayant
              au moins 4 jours dans l'année en cours, et où Lundi
              est le premier jour de la semaine. Voir aussi %U et
              %W. (SU)

       %W     Le numéro de la semaine dans l'année, sous forme de
              nombre  décimal  (00-53), en commençant le comptage
              au premier Lundi de l'année.

       %w     Le  numéro  du  jour  de  la  semaine,  sous  forme
              décimale (0-6), Dimanche valant 0. Voir aussi %u.

       %x     La représentation usuelle de la date, sans l'heure,
              dans la localisation en cours.

       %X     La représentation usuelle de l'heure, sans la date,
              dans la localisation en cours.

       %y     L'année,  sous  forme  de  nombre  décimal, sans le
              siècle (entre 00 et 99).

       %Y     L'année, sous forme de nombre décimal, incluant  le
              siècle.

       %z     Le  fuseau  horaire  sous  forme  de  décalage GMT.
              Nécessaire pour crééer des dates conformes à la RFC
              822 (avec "%a, %d %b %Y %H:%M:%S %z"). (GNU)

       %Z     Le nom ou l'abréviation du fuseau horaire.

       %+     La date et l'heure au format date(1). (TZ)

       %%     Un caractère `%'.

       Certains  indicateurs  de conversion peuvent être modifiés
       en les faisant préceder par le modificateur E  ou  O  pour
       indiquer  un format de rechange.  Si le format de rechange
       n'existe pas pour la localisation en cours,  le  comporte­
       ment  ne sera pas modifié.  Les Spécifications Single Unix
       mentionnent  %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe,  %OH,



GNU                        18 Mai 1999                          3





STRFTIME(3)        Manuel du programmeur Linux        STRFTIME(3)


       %OI,  %Om,  %OM,  %OS,  %Ou,  %OU,  %OV, %Ow, %OW, %Oy, où
       l'action du modificateur O est d'utiliser un autre  format
       numérique  (par exemple des chiffres romains), et l'action
       de E est d'utiliser une  représentaiton  dépendant  de  la
       localisation.

       Les  champs de la structure tm sont définis dans <time.h>.
       Voir aussi ctime(3).

VALEUR RENVOYÉE
       La fonction strftime() renvoie  le  nombre  de  caractères
       écrits  dans  la  table  s,  sans compter le caractère NUL
       final. Si la chaîne était trop courte, strftime()  renvoie
       0,  et  le  contenu  de  la chaîne est indéfini. (Ceci, du
       moins, depuis la libc 4.4.4, des versions  plus  anciennes
       de  la  libc, comme la 4.4.1, renvoyaient max si la chaîne
       était trop courte)

       Remarquez qu'une valeur de retour nulle n'indique pas tou­
       jours  une  erreur.  Dans de nombreuses localisations, par
       exemple, %p renvoie une chaîne vide.

ENVIRONNEMENT
       Les  variables  d'environnement   TZ   et   LC_TIME   sont
       utilisées.

CONFORMITÉ
       ANSI  C,  SVID  3, ISO 9899.  Il y a une inclusion stricte
       entre les jeux de conversions fournies par ANSI (sans mar­
       que),  celles indiquées par les Spécifications Single Unix
       (marquées SU), celles fournies par le  paquetage  TimeZone
       d'Olson  (marquées  TZ),  et  celles de la glibc (marquées
       GNU), sauf pour %+ qui n'est pas supporté par glibc2. D'un
       autre  côté glibc2 offre plusieurs extensions.  POSIX.1 ne
       traite que les conversions ANSI C. POSIX.2 décrit à propos
       de  date(1)  plusieurs  extensions applicables également à
       strftime.

VOIR AUSSI
       date(1), time(2), ctime(3), setlocale(3), sprintf(3)

TRADUCTION
       Christophe Blaess, 1997.














GNU                        18 Mai 1999                          4