Provided by: manpages-fr-dev_4.18.1-1_all bug

NOM

       strptime - Conversion d'une chaîne de dates en une structure tm

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #define _XOPEN_SOURCE       /* See feature_test_macros(7) */
       #include <time.h>

       char *strptime(const char *restrict s, const char *restrict format,
                      struct tm *restrict tm);

DESCRIPTION

       La  fonction strptime() est l’inverse de la fonction strftime(3). Elle convertit la chaîne
       de caractères pointée par s en une valeur qui est stockée dans la structure tm pointée par
       l'argument  tm,  la conversion étant réalisée en suivant les indications contenues dans la
       chaîne format.

       The broken-down time structure tm is described in tm(3type).

       Le paramètre format contient des descripteurs de champ et du  texte,  rappelant  scanf(3).
       Chaque  descripteur  consiste  en  un caractère % 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.

       La fonction strptime() 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.

       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.

       %%     Le caractère %

       %a ou %A
              Le  jour  de la semaine en utilisant les noms correspondants à la localisation. Les
              noms abrégés ou entiers peuvent être utilisés.

       %b ou %B ou %h
              Le mois en utilisant les noms correspondants à la localisation. Les noms abrégés ou
              entiers peuvent être utilisés.

       %c     La date et l'heure en utilisant le format de la localisation.

       %C     The century number (0–99).

       %d ou %e
              The day of month (1–31).

       %D     La date, ainsi : %m/%d/%y. C'est la date au format américain, très gênante dans les
              autres pays, notamment en Europe où la notation %d/%m/%y est plus souvent utilisée.
              Le format standard ISO 8601 est %Y-%m-%d.

       %H     The hour (0–23).

       %I     The hour on a 12-hour clock (1–12).

       %j     The day number in the year (1–366).

       %m     The month number (1–12).

       %M     The minute (0–59).

       %n     Un espace blanc quelconque

       %p     Équivalent local de AM ou PM (éventuellement rien).

       %r     L'heure  sur  12  heures  avec l'équivalent local de AM ou PM. Dans la localisation
              POSIX, équivalent à %I:%M:%S %p. Si le champ t_fmt_ampm de la catégorie LC_TIME  de
              la localisation est vide, le comportement est indéfini.

       %R     Équivalent de %H:%M.

       %S     The second (0–60; 60 may occur for leap seconds; earlier also 61 was allowed).

       %t     Un espace blanc quelconque

       %T     Équivalent de %H:%M:%S.

       %U     The  week  number with Sunday the first day of the week (0–53). The first Sunday of
              January is the first day of week 1.

       %w     The ordinal number of the day of the week (0–6), with Sunday = 0.

       %W     The week number with Monday the first day of the week (0–53). The first  Monday  of
              January is the first day of week 1.

       %x     La date, en utilisant le format usuel de la localisation.

       %X     L'heure, en utilisant le format usuel de la localisation.

       %y     The  year  within century (0–99). When a century is not otherwise specified, values
              in the range 69–99 refer to years in the twentieth century (1969–1999);  values  in
              the range 00–68 refer to years in the twenty-first century (2000–2068).

       %Y     L'année en incluant le siècle (par exemple, 1996)

       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é.

       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 :

       %Ec    Une représentation différente de la date et de l'heure.

       %EC    Le nom de l'année de base (période) dans la représentation locale alternative.

       %Ex    Une autre représentation de la date.

       %EX    Une autre représentation de l'heure.

       %Ey    Le  décalage  (en  année)  par  rapport à l'année %EC dans la représentation locale
              alternative.

       %EY    La représentation alternative complète de l'année.

       Le modificateur O indique que les saisies  numériques  peuvent  être  effectuées  dans  un
       format différent, dépendant de la localisation.

       %Od or %Oe
              Le jour du mois en utilisant les symboles numériques alternatifs. Les zéros en tête
              sont permis mais pas obligatoires.

       %OH    L'heure, sur 24 heures, utilisant les symboles numériques alternatifs.

       %OI    L'heure, sur 12 heures, utilisant les symboles numériques alternatifs.

       %Om    Le numéro du mois en utilisant les symboles numériques alternatifs.

       %OM    Les minutes en utilisant les symboles numériques alternatifs.

       %OS    Les secondes en utilisant les symboles numériques alternatifs..

       %OU    Le numéro de la semaine en utilisant les symboles numériques alternatifs.  Dimanche
              premier jour de la semaine.

       %Ow    The  ordinal  number  of  the  day  of  the  week  (Sunday=0),  using  the locale's
              alternative numeric symbols.

       %OW    Le numéro du jour de la semaine en utilisant les symboles  numériques  alternatifs,
              en commençant le lundi.

       %Oy    L'année  (ou  décalage  par  rapport  à  %C)  en  utilisant les symboles numériques
              régionaux alternatifs.

VALEUR RENVOYÉE

       La fonction strptime() renvoie un pointeur sur le premier caractère de la chaîne s 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 strptime() n'arrive pas à effectuer toutes  les  conversions,  elle  renvoie
       NULL.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────────────────────────────┬──────────────────────┬────────────────────┐
       │InterfaceAttributValeur             │
       ├─────────────────────────────────────────────┼──────────────────────┼────────────────────┤
       │strptime()                                   │ Sécurité des threads │ MT-Safe env locale │
       └─────────────────────────────────────────────┴──────────────────────┴────────────────────┘

STANDARDS

       POSIX.1-2001, POSIX.1-2008, SUSv2.

NOTES

       En principe cette fonction n'initialise pas tm, mais n'y stocke que les valeurs lues. Cela
       signifie que le contenu de tm 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 tm_wday, et tm_yday qui sont  recalculés  si  un
       champ d'année, de mois ou de jour est modifié.

       The  'y' (year in century) specification is taken to specify a year in the range 1950–2049
       by glibc 2.0. It is taken to be a year in 1969–2068 since glibc 2.1.

   Notes de la glibc
       Pour des raisons  de  symétrie,  la  glibc  essaye  d'offrir  pour  strptime()  les  mêmes
       caractères  de formatage que ceux de strftime(3) (dans la plupart des cas, les champs sont
       lus mais aucun membre de tm n'est modifié). Ceci conduit à :

       %F     Équivalent à %Y-%m-%d, le format ISO 8601 pour la date.

       %g     The year corresponding to the ISO week number, but without the century (0–99).

       %G     L'année correspondant au numéro de semaine ISO (par exemple 1991).

       %u     The day of the week as a decimal number (1–7, where Monday = 1).

       %V     The ISO 8601:1988 week number as a decimal number (1–53). If the week (starting  on
              Monday)  containing  1  January  has  four or more days in the new year, then it is
              considered week 1. Otherwise, it is the last week of the  previous  year,  and  the
              next week is week 1.

       %z     Spécification standard RFC-822/ISO 8601 pour le fuseau horaire.

       %Z     Le nom du fuseau horaire.

       De  même,  à cause des extensions GNU de strftime(3), %k est accepté en synonyme de %H, et
       %l est accepté comme synonyme de %I, et %P en synonyme de %p. Enfin,

       %s     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.

       L'implémentation de la glibc n'impose pas la présence  de  caractères  blancs  entre  deux
       descripteurs de champs.

EXEMPLES

       L'exemple suivant montre l'utilisation de strptime() et strftime(3).

       #define _XOPEN_SOURCE
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>
       #include <time.h>

       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);
       }

VOIR AUSSI

       time(2), getdate(3), scanf(3), setlocale(3), strftime(3)

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>   et   Grégoire   Scano
       <gregoire.scano@malloc.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.