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
spécifications de conversion
sont introduites par le caractère « % » et terminées par un
caractère spécificateur de conversion,
et sont remplacé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 localisation en cours.
-
- %B
-
Le nom complet du mois,
en fonction de la localisation 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
-
Équivalent à
%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)
-
- %F
-
Équivalent de
%Y-%m-%d
(Format de date ISO 8601). (C99)
-
- %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
-
Équivalent à
%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 fonctions 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 localisation 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 Janvier 1970 à 00:00:00 UTC. (TZ).
-
- %S
-
La seconde, sous forme de nombre décimal (00-60).
L'intervalle peut être supérieur à 60
pour autoriser des secondes de rattrapage).
-
- %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'intervalle 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)
(Non supporté par la glibc2.)
-
- %%
-
Un caractère « % ».
Certaines spécifications de conversion peuvent être modifiés en faisant
précéder le caractère spécificateur de conversion 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 comportement ne sera pas modifié.
Les spécifications Single Unix mentionnent
%Ec,
%EC,
%Ex,
%EX,
%Ey,
%EY,
%Od,
%Oe,
%OH,
%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ésentation dépendant de la localisation.
Les champs de la structure
tm
sont définis dans
<time.h>.
Voir aussi
ctime(3).