Bruno Brouard
annoa.b@gmail.com 2007,2010
Claude Paroz
claude@2xlibre.net 2007,2011
Laurent Coudeur
laurentc@iol.ie 2010

# Codes des formats de date/heure

Voici un résumé des codes standards de date et d'heure qui peuvent être utilisés dans les chaînes de format :

# Codes de format valides pour les sous-dossiers personnalisés

%a | Le nom du jour de la semaine sous forme abrégée conformément à l'environnement linguistique actuel.
%A | Le nom complet du jour de la semaine conformément à l'environnement linguistique actuel.
%b | Le nom du mois sous forme abrégée conformément à l'environnement linguistique actuel.
%B | Le nom complet du mois conformément à l'environnement linguistique actuel.
%c | La représentation préférée de la date et de l'heure conformément à l'environnement linguistique actuel.
%C | Le numéro du siècle (année/100) sous la forme d'un entier à 2 chiffres.
%d | Le jour du mois sous la forme d'un nombre décimal (compris entre 01 et 31).
%D | Équivalent à %m/%d/%y. (Note destinée uniquement aux américains : les américains devraient remarquer que dans les autres pays %d/%m/%y est très courant. Cela signifie que, dans un contexte international, ce format est ambigu et ne devrait pas être utilisé.)
%e | Comme pour %d, le jour du mois sous la forme d'un nombre décimal mais un zéro à gauche est remplacé par un espace.
%E | Modificateur : utilisez un format alternatif, voyez plus bas.
%F | Équivalent à %Y-%m-%d (le format de date ISO 8601). (C99)
%G | L'année ISO 8601 avec le siècle sous la forme d'un nombre décimal. L'année à 4 chiffres correspond au nombre ISO de la semaine (voir %V). C'est le même format et la même valeur que %y à part que, si le nombre ISO de la semaine appartient à l'année précédente ou à l'année suivante, cette année est utilisée à la place.
%g | Comme %G mais sans le siècle, c.-à-d. avec une année à 2 chiffres (compris entre 00 et 99).
%h | Équivalent à %b.
%H | L'heure sous la forme d'un nombre décimal en utilisant une horloge à 24 heures (compris entre 00 et 23).
%I | L'heure sous la forme d'un nombre décimal en utilisant une horloge à 12 heures (compris entre 01 et 12).
%j | Le jour de l'année sous la forme d'un nombre décimal (compris entre 001 et 366).
%k | L'heure (horloge à 24 heures) sous la forme d'un nombre décimal (compris entre 0 et 23), un chiffre seul est précédé d'un espace (voir également %H).
%l | L'heure (horloge à 12 heures) sous la forme d'un nombre décimal (compris entre 1 et 12), un chiffre seul est précédé d'un espace (voir également %I).
%m | Le mois sous la forme d'un nombre décimal (compris entre 01 et 12).
%M | Les minutes sous la forme d'un nombre décimal (compris entre 00 et 59).
%O | Modificateur : utilisez un format alternatif, voyez plus bas.
%p | Soit « AM » ou « PM » selon la valeur actuelle de l'heure ou une chaîne correspondante conformément à l'environnement linguistique actuel. Midi est vu comme « pm » et minuit comme « am ».
%P | Comme %p mais en minuscule : « am » ou « pm » ou une chaîne correspondante conformément à l'environnement linguistique actuel.
%r | L'heure en notation a.m. ou p.m. Dans l'environnement linguistique actuel POSIX, c'est équivalent à « %I:%M:%S %p ».
%R | L'heure en notation à 24 heures (%H:%M). Pour une version incluant les secondes, consultez %T ci-dessous.
%s | Le nombre de secondes depuis la date Epoch, c.-à-d. depuis le 01/01/1970 00:00:00 UTC.
%S | Les secondes en nombre décimal (compris entre 00 et 60) (la plage va jusqu'à 60 pour permettre des secondes intercalaires occasionnelles).
%T | L'heure en notation à 24 heures (%H:%M:%S).
%u | Le jour de la semaine représenté par un chiffre compris entre 1 et 7, lundi étant représenté par 1. Consultez aussi %w.
%U | Le numéro de la semaine de l'année actuelle sous la forme d'un nombre décimal compris entre 00 et 53, le premier dimanche est le premier jour de la semaine 01. Consultez également %V et %W.
%V | Le numéro ISO 8601:1988 de la semaine de l'année actuelle sous la forme d'un nombre décimal, compris entre 01 et 53, où la semaine 1 est la première semaine qui possède au moins 4 jours dans l'année actuelle, le lundi étant le premier jour de la semaine. Consultez également %U et %W.
%w | Le jour de la semaine sous la forme d'un nombre décimal, compris entre 0 et 6, le dimanche correspond à 0. Consultez également %u.
%W | Le numéro de la semaine de l'année actuelle sous la forme d'un nombre décimal, compris entre 00 et 53, le premier lundi est le premier jour de la semaine 01.
%x | La représentation préférée de la date conformément à l'environnement linguistique actuel, sans l'heure.
%X | La représentation préférée de l'heure conformément à l'environnement linguistique actuel, sans la date.
%y | L'année sous la forme d'un nombre décimal sans le siècle (compris entre 00 et 99).
%Y | L'année sous la forme d'un nombre décimal avec le siècle.
%z | Le fuseau horaire représenté par le décalage horaire par rapport à GMT. Ceci est nécessaire pour émettre des dates conformes à RFC 822 (en utilisant « %a, %d %b %Y %H:%M:%S %z »).
%Z | Le fuseau horaire ou le nom ou l'abréviation.

Certaines spécifications de conversion peuvent être modifiées en faisant précéder le caractère de spécification de la conversion par le modificateur E ou O, pour indiquer qu'un format alternatif doit être utilisé. Si le format alternatif ou la spécification n'existe pas dans l'environnement linguistique actuel, le comportement reste le même que celui sans le modificateur. Le « Single Unix Specification » mentionne %Ec, %EC, %Ex, %EX, %Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy où les effets de l'utilisation du préfixe O sont l'utilisation d'autres symboles numériques (comme des chiffres romains, par exemple) et que ceux du préfixe E sont l'usage d'une représentation alternative dépendante de l'environnement linguistique.