.\" -*- coding: UTF-8 -*- .\" Copyright 1993 Mitchum DSouza .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified, jmv@lucifer.dorms.spbu.ru, 1999-11-08 .\" Modified, aeb, 2000-04-07 .\" Updated from glibc docs, C. Scott Ananian, 2001-08-25 .\" Modified, aeb, 2001-08-31 .\" Modified, wharms 2001-11-12, remark on white space and example .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH STRPTIME 3 "1 novembre 2020" GNU "Manuel du programmeur Linux" .SH NOM strptime \- Conversion d'une chaîne de dates en une structure tm .SH SYNOPSIS \fB#define _XOPEN_SOURCE\fP /* Consultez feature_test_macros(7) */ .br \fB#include \fP .PP \fBchar *strptime(const char *\fP\fIs\fP\fB, const char *\fP\fIformat\fP\fB,\fP \fBstruct tm *\fP\fItm\fP\fB);\fP .SH DESCRIPTION La fonction \fBstrptime\fP() est l’inverse de la fonction \fBstrftime\fP(3). Elle convertit la chaîne de caractères pointée par \fIs\fP en une valeur qui est stockée dans la structure \fItm\fP pointée par l'argument \fItm\fP, la conversion étant réalisée en suivant les indications contenues dans la chaîne \fIformat\fP. .PP Les champs de la structure \fItm\fP définie dans \fI\fP sont\ : .PP .in +4n .EX struct tm { int tm_sec; /* secondes [0,60] */ int tm_min; /* minutes [0,59] */ int tm_hour; /* heures [0,23] */ int tm_mday; /* jour du mois [1,31] */ int tm_mon; /* mois [0,11] */ int tm_year; /* année \- 1900 */ int tm_wday; /* jour de la semaine [0,6] où Dimanche = 0 */ int tm_yday; /* jour de l'année [0,365] où 1er Jan = 0 */ int tm_isdst; /* décalage été/hiver */ }; .EE .in .PP Pour plus de détails sur la structure \fItm\fP, consultez \fBctime\fP(3). .PP Le paramètre \fIformat\fP contient des descripteurs de champ et du texte, rappelant \fBscanf\fP(3). Chaque descripteur consiste en un caractère \fB%\fP suivi d'un second caractère indiquant la substitution pour le descripteur de champ. Tous les autres sont considérés comme du texte, qui doit être présent dans la chaîne fournie en entrée. Toutefois un espace blanc se trouvant dans la chaîne de format peut être mis en correspondance avec zéro ou plusieurs espaces. Il devrait toujours y avoir un espace ou un autre caractère alphanumérique entre deux descripteurs de champ. .PP La fonction \fBstrptime\fP() traite la chaîne d'entrée de gauche à droite. Les trois types d'éléments d'entrée possibles (espace, caractère littéral, format) sont manipulés l'un après l'autre. Si l'entrée ne peut pas être mise en correspondance avec la chaîne de format, la fonction s'arrête. Le reste du format et de la chaîne d'entrée ne sont pas traités. .PP Les descripteurs applicables sont décrits ci\-dessous. Dans le cas d'une chaîne de caractères (comme le nom d’un jour de la semaine ou d’un mois), la comparaison ne tient pas compte des majuscules/minuscules. Dans le cas d'un nombre, les zéros au début sont autorisés mais pas obligatoires. .TP \fB%%\fP Le caractère \fB%\fP .TP \fB%a\fP ou \fB%A\fP Le jour de la semaine en utilisant les noms correspondants à la localisation. Les noms abrégés ou entiers peuvent être utilisés. .TP \fB%b\fP ou \fB%B\fP ou \fB%h\fP Le mois en utilisant les noms correspondants à la localisation. Les noms abrégés ou entiers peuvent être utilisés. .TP \fB%c\fP La date et l'heure en utilisant le format de la localisation. .TP \fB%C\fP Le numéro de siècle [\fB0\fP,\fB99\fP]. .TP \fB%d\fP ou \fB%e\fP Le jour du mois [\fB1\fP,\fB31\fP] .TP \fB%D\fP La date, ainsi\ : \fB%m/%d/%y\fP. C'est la date au format américain, très gênante dans les autres pays, notamment en Europe où la notation \fB%d/%m/%y\fP est plus souvent utilisée. Le format standard ISO 8601 est \fB%Y\-%m\-%d\fP. .TP \fB%H\fP L'heure [\fB0\fP,\fB23\fP]. .TP \fB%I\fP L'heure sur 12 heures [\fB1\fP,\fB12\fP]. .TP \fB%j\fP Le numéro du jour dans l'année [\fB1\fP,\fB366\fP]. .TP \fB%m\fP Le numéro du mois [\fB1\fP,\fB12\fP]. .TP \fB%M\fP La minute [\fB0\fP,\fB59\fP]. .TP \fB%n\fP Un espace blanc quelconque .TP \fB%p\fP Équivalent local de AM ou PM (éventuellement rien). .TP \fB%r\fP L'heure sur 12 heures avec l'équivalent local de AM ou PM. Dans la localisation POSIX, équivalent à \fB%I:%M:%S %p\fP. Si le champ \fIt_fmt_ampm\fP de la catégorie \fBLC_TIME\fP de la localisation est vide, le comportement est indéfini. .TP \fB%R\fP Équivalent de \fB%H:%M\fP. .TP \fB%S\fP Les secondes [\fB0\fP,\fB60\fP], \fB60\fP peut être utilisé pour les secondes de rattrapage\ ; \fB61\fP était possible antérieurement. .TP \fB%t\fP Un espace blanc quelconque .TP \fB%T\fP Équivalent de \fB%H:%M:%S\fP. .TP \fB%U\fP Le numéro de la semaine [\fB0\fP,\fB53\fP] avec dimanche pour premier jour de la semaine. Le premier dimanche de janvier est le premier jour de la semaine \fB1\fP. .TP \fB%w\fP Le numéro du jour dans la semaine [\fB0\fP,\fB6\fP], \fB0\fP correspondant au dimanche. .TP \fB%W\fP Le numéro de la semaine [\fB0\fP,\fB53\fP] avec lundi pour premier jour de la semaine. Le premier lundi de janvier est le premier jour de la semaine \fB1\fP. .TP \fB%x\fP La date, en utilisant le format usuel de la localisation. .TP \fB%X\fP L'heure, en utilisant le format usuel de la localisation. .TP \fB%y\fP L'année dans le siècle [\fB0\fP,\fB99\fP]. Lorsque le siècle n'est pas indiqué par une autre conversion, les années \fB69\fP à \fB99\fP sont considérées comme étant du vingtième siècle (1969 à 1999), et les années \fB00\fP à \fB68\fP du vingt\-et\-unième siècle (2000\-2068). .TP \fB%Y\fP L'année en incluant le siècle (par exemple, 1996) .PP Certains descripteurs peuvent être complétés par les caractères modificateurs E et O, indiquant qu'il faut employer un autre format ou une autre spécification. Si cet autre format, ou cette autre conversion n'est pas disponible dans la localisation en cours, le descripteur n'est pas modifié. .PP Le modificateur E indique que la chaîne d'entrée peut contenir des versions différentes de la date et de l'heure, en fonction de la localisation\ : .TP \fB%Ec\fP Une représentation différente de la date et de l'heure. .TP \fB%EC\fP Le nom de l'année de base (période) dans la représentation locale alternative. .TP \fB%Ex\fP Une autre représentation de la date. .TP \fB%EX\fP Une autre représentation de l'heure. .TP \fB%Ey\fP Le décalage (en année) par rapport à l'année \fB%EC\fP dans la représentation locale alternative. .TP \fB%EY\fP La représentation alternative complète de l'année. .PP Le modificateur O indique que les saisies numériques peuvent être effectuées dans un format différent, dépendant de la localisation. .TP \fB%Od\fP or \fB%Oe\fP Le jour du mois en utilisant les symboles numériques alternatifs. Les zéros en tête sont permis mais pas obligatoires. .TP \fB%OH\fP L'heure, sur 24 heures, utilisant les symboles numériques alternatifs. .TP \fB%OI\fP L'heure, sur 12 heures, utilisant les symboles numériques alternatifs. .TP \fB%Om\fP Le numéro du mois en utilisant les symboles numériques alternatifs. .TP \fB%OM\fP Les minutes en utilisant les symboles numériques alternatifs. .TP \fB%OS\fP Les secondes en utilisant les symboles numériques alternatifs.. .TP \fB%OU\fP Le numéro de la semaine en utilisant les symboles numériques alternatifs. Dimanche premier jour de la semaine. .TP \fB%Ow\fP Le numéro du jour dans la semaine en utilisant les symboles numériques alternatifs, le dimanche étant zéro. .TP \fB%OW\fP Le numéro du jour de la semaine en utilisant les symboles numériques alternatifs, en commençant le lundi. .TP \fB%Oy\fP L'année (ou décalage par rapport à \fB%C\fP) en utilisant les symboles numériques régionaux alternatifs. .SH "VALEUR RENVOYÉE" La fonction \fBstrptime\fP() renvoie un pointeur sur le premier caractère de la chaîne \fIs\fP n'ayant pas été traité. Dans le cas où la chaîne de saisie est plus longue que ce que réclame le format, la valeur renvoyée pointe juste après le dernier caractère d'entrée ayant été analysé. Si toute la chaîne a été traitée, le pointeur est dirigé sur l’octet NULL en fin de chaîne. Si \fBstrptime\fP() n'arrive pas à effectuer toutes les conversions, elle renvoie NULL. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lb lb lb l l l. Interface Attribut Valeur T{ \fBstrptime\fP() T} Sécurité des threads MT\-Safe env locale .TE .SH CONFORMITÉ POSIX.1\-2001, POSIX.1\-2008, SUSv2. .SH NOTES .\" .PP .\" This function is available since libc 4.6.8. .\" Linux libc4 and libc5 includes define the prototype unconditionally; .\" glibc2 includes provide a prototype only when .\" .B _XOPEN_SOURCE .\" or .\" .B _GNU_SOURCE .\" are defined. .\" .PP .\" Before libc 5.4.13 whitespace .\" (and the \(aqn\(aq and \(aqt\(aq specifications) was not handled, .\" no \(aqE\(aq and \(aqO\(aq locale modifier characters were accepted, .\" and the \(aqC\(aq specification was a synonym for the \(aqc\(aq specification. En principe cette fonction n'initialise pas \fItm\fP, mais n'y stocke que les valeurs lues. Cela signifie que le contenu de \fItm\fP doit être initialisé avant l'appel. Les détails diffèrent suivant les systèmes UNIX. L'implémentation de la bibliothèque glibc ne modifie pas les champs non mentionnés explicitement, sauf \fItm_wday\fP, et \fItm_yday\fP qui sont recalculés si un champ d'année, de mois ou de jour est modifié. .PP .\" in the 20th century by libc4 and libc5. .\" It is taken to be a year .\" In libc4 and libc5 the code for %I is broken (fixed in glibc; .\" %OI was fixed in glibc 2.2.4). La conversion «\ y\ » (année dans le siècle) est toujours considérée comme appartenant à l'intervalle [1950,2049] par la glibc\ 2.0, et [1969,2068] par la glibc\ 2.1. .SS "Notes de la glibc" Pour des raisons de symétrie, la glibc essaye d'offrir pour \fBstrptime\fP() les mêmes caractères de formatage que ceux de \fBstrftime\fP(3) (dans la plupart des cas, les champs sont lus mais aucun membre de \fItm\fP n'est modifié). Ceci conduit à\ : .TP \fB%F\fP Équivalent à \fB%Y\-%m\-%d\fP, le format ISO 8601 pour la date. .TP \fB%g\fP L'année correspondant au numéro de semaine ISO, sans le siècle [\fB0\fP,\fB99\fP]. .TP \fB%G\fP L'année correspondant au numéro de semaine ISO (par exemple 1991). .TP \fB%u\fP Le numéro du jour de la semaine [\fB1\fP,\fB7\fP], \fB1\fP correspondant au lundi. .TP \fB%V\fP Le numéro de semaine ISO 8601:1988 [\fB1\fP,\fB53\fP]. Si la semaine (commençant lundi) contenant le 1er janvier a quatre jours ou plus de la nouvelle année, elle est comptée en semaine \fB1\fP. Sinon elle est considérée comme dernière semaine de l'année précédente, et c'est la suivante qui est la semaine \fB1\fP. .TP \fB%z\fP Spécification standard RFC\-822/ISO 8601 pour le fuseau horaire. .TP \fB%Z\fP Le nom du fuseau horaire. .PP De même, à cause des extensions GNU de \fBstrftime\fP(3), \fB%k\fP est accepté en synonyme de \fB%H\fP, et \fB%l\fP est accepté comme synonyme de \fB%I\fP, et \fB%P\fP en synonyme de \fB%p\fP. Enfin, .TP \fB%s\fP Le nombre de secondes depuis l'époque, 1er\ janvier 1970 à\ 00:00:00 (UTC). Les secondes de rattrapage ne sont pas comptées, sauf si une prise en charge spécifique est disponible. .PP L'implémentation de la glibc n'impose pas la présence de caractères blancs entre deux descripteurs de champs. .SH EXEMPLES L'exemple suivant montre l'utilisation de \fBstrptime\fP() et \fBstrftime\fP(3). .PP .EX #define _XOPEN_SOURCE #include #include #include #include int main(void) { struct tm tm; char buf[255]; memset(&tm, 0, sizeof(tm)); strptime("2001\-11\-12 18:31:01", "%Y\-%m\-%d %H:%M:%S", &tm); strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm); puts(buf); exit(EXIT_SUCCESS); } .EE .SH "VOIR AUSSI" \fBtime\fP(2), \fBgetdate\fP(3), \fBscanf\fP(3), \fBsetlocale\fP(3), \fBstrftime\fP(3) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Grégoire Scano . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .