Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       asctime,   ctime,   gmtime,   localtime,  mktime,  asctime_r,  ctime_r,
       gmtime_r, localtime_r - Convertir des dates  et  des  temps  au  format
       année/mois/jours ou au format ASCII

SYNOPSIS

       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);

       time_t mktime(struct tm *tm);

   Exigences  de  macros  de  test de fonctionnalités pour la glibc (consultez
   feature_test_macros(7)) :

       asctime_r(), ctime_r(), gmtime_r(), localtime_r() :
              _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _BSD_SOURCE ||
              _SVID_SOURCE || _POSIX_SOURCE

DESCRIPTION

       Les  fonctions  ctime(),  gmtime()  et  localtime()  prennent toutes un
       paramètre de type time_t qui représente un temps en  seconde.  Si  l'on
       interprète  ce  paramètre comme une valeur absolue, il s'agit du nombre
       de secondes écoulées  depuis  l'époque,  1er janvier  1970  à  00:00:00
       (UTC).

       Les  fonctions asctime() et mktime() utilisent toutes deux un paramètre
       représentant le temps dans un format humain, c'est à dire année,  mois,
       jour, etc.

       La  représentation  humaine (« broken-down time ») est stockée dans une
       structure tm, définie dans <time.h> comme suit :

           struct tm {
               int tm_sec;      /* secondes */
               int tm_min;      /* minutes */
               int tm_hour;     /* heures */
               int tm_mday;     /* jour du mois */
               int tm_mon;      /* mois */
               int tm_year;     /* année */
               int tm_wday;     /* jour de la semaine */
               int tm_yday;     /* jour de l'année */
               int tm_isdst;    /* décalage horaire */
           };

       Les membres de la structure tm sont :

       tm_sec    Le nombre de secondes écoulées depuis le  dernier  changement
                 de  minute.  Normalement  dans l'intervalle 0 à 59, ce membre
                 peut aller jusqu'à 60 durant les secondes de rattrapage.

       tm_min    Le nombre de minutes écoulées depuis  le  dernier  changement
                 d'heure, dans l'intervalle 0 à 59.

       tm_hour   Le  nombre d'heures écoulées depuis minuit, dans l'intervalle
                 0 à 23.

       tm_mday   Le quantième du mois, dans l'intervalle 1 à 31.

       tm_mon    Le nombre de mois écoulés depuis le début  de  l'année,  dans
                 l'intervalle 0 à 11.

       tm_year   Le nombre d'années écoulées depuis 1900.

       tm_wday   Le nombre de jours écoulés depuis dimanche, dans l'intervalle
                 0 à 6.

       tm_yday   Le nombre de  jours  écoulés  depuis  le  1er  janvier,  dans
                 l'intervalle 0 à 365.

       tm_isdst  Un  drapeau  indiquant  si  le  décalage heure d'hiver, heure
                 d'été est en cours au moment de l'appel. La valeur  retournée
                 est  positive  si  le décalage est actif, nulle s'il ne l'est
                 pas, et négative si l'information n'est pas disponible.

       L'appel ctime(t) est équivalent à asctime(localtime(t)).  Il  convertit
       la  date  t en une chaîne de caractères, terminée par un caractère nul,
       de la forme

              "Wed Jun 30 21:49:08 1993\n"

       Les abréviations  des  jours  de  la  semaine  sont  « Sun »,  « Mon »,
       « Tue »,  « Wed »,  « Thu »,  « Fri », et « Sat ». Les abréviations des
       mois  sont  « Jan »,  « Feb »,  « Mar »,  « Apr »,  « May »,   « Jun »,
       « Jul »,  « Aug »,  « Sep »,  « Oct »,  « Nov »,  et « Dec ». La valeur
       renvoyée pointe sur une chaîne statiquement allouée qui sera écrasée  à
       chaque  appel ultérieur d'une fonction de date ou de temps. La fonction
       définit aussi les  variables  externes  tzname,  timezone  et  daylight
       (consultez  tzset(3))  avec  les  informations  du  fuseau  horaire. La
       version réentrante ctime_r() effectue le même travail  mais  stocke  la
       chaîne  dans un tampon d'une longueur minimale de 26 caractères fournie
       par l'utilisateur. Elle n'a pas besoin de définir tzname,  timezone  et
       daylight.

       La  fonction  gmtime()  convertit  la  date au format calendrier (temps
       écoulé depuis un  référentiel)  timep  en  une  représentation  humaine
       exprimée  en  temps  universel  (UTC).  Elle  peut  renvoyer NULL quand
       l'année ne tient pas dans un entier. La valeur renvoyée pointe vers une
       structure   allouée  statiquement  qui  sera  écrasée  à  chaque  appel
       ultérieur d'une fonction de date ou de temps.  La  fonction  réentrante
       gmtime_r()  effectue  le  même travail mais stocke le résultat dans une
       structure fournie par l'utilisateur.

       La fonction localtime() convertit la date au format calendrier timep en
       une  représentation  humaine  exprimée en fonction du fuseau horaire de
       l'utilisateur. Cette  fonction  se  comporte  comme  si  elle  appelait
       tzset(3) et définit les variables externes tzname avec les informations
       concernant le fuseau horaire, timezone avec la différence (en secondes)
       entre  le temps universel (UTC) et le temps local, et daylight avec une
       valeur non nulle si le décalage horaire  saisonnier  s'applique  durant
       l'année.   La   valeur  renvoyée  pointe  vers  une  structure  allouée
       statiquement qui sera écrasée à chaque appel ultérieur  d'une  fonction
       de  date  ou de temps. La fonction réentrante localtime_r() effectue le
       même travail mais stocke le résultat dans  une  structure  fournie  par
       l'utilisateur.  Elle  n'a  pas  besoin  de définir tzname, timezone, et
       daylight.

       La fonction asctime() convertit une date au format  humain  tm  en  une
       chaîne  de  caractères,  terminée  par  un  caractère nul, dans le même
       format que ctime(). La valeur renvoyée pointe sur une  chaîne  statique
       qui  sera écrasée à chaque appel d'une fonction de date et de temps. La
       version réentrante asctime_r() effectue le même travail mais stocke  la
       chaîne  dans un tampon d'une longueur minimale de 26 caractères fournie
       par l'utilisateur.

       La fonction mktime() convertit une structure de temps au format  humain
       exprimé  sous  forme  d'un  temps local en une représentation au format
       calendrier. La fonction ignore les valeurs tm_wday et  tm_yday  fournit
       par  l'appelant.  La  valeur  fournie  dans  le  champ tm_isdst informe
       mktime() si le décalage horaire d'été (DST) a un effet ou  non  sur  le
       temps fourni dans la structure tm : une valeur positive signifie que le
       décalage horaire d'été a un effet ; une valeur nulle  signifie  que  le
       décalage  horaire  d'été n'a aucun effet ; une valeur négative signifie
       que mktime() doit déterminer si le décalage horaire d'été  a  un  effet
       dans  le  temps  spécifié  (en  utilisant  les  informations de fuseaux
       horaires par exemple).

       La fonction mktime() modifie  des  champs  de  la  structure  tm :  les
       valeurs  de  tm_wday  et  tm_yday  sont déterminées à l'aide des autres
       champs ; si la valeur d'un membre de la structure  n'est  pas  dans  un
       intervalle  valide,  elle  sera  normalisée (par exemple, le 40 octobre
       sera converti en 9 novembre) ; tm_isdst est  défini  (selon  sa  valeur
       initiale) à une valeur positive s'il faut prendre en compte le décalage
       horaire d'été, 0 sinon. Un appel à mktime() définit aussi  la  variable
       externe tzname avec le fuseau horaire courant.

       Si  la  représentation  d'un  temps  au  format humain ne peut pas être
       converti au format calendrier  (nombre  de  secondes  depuis  l'époque,
       1er janvier   1970  à  00:00:00  (UTC)),  mktime()  renvoie  la  valeur
       (time_t) -1 et ne modifie pas les membres de la structure du  temps  au
       format humain.

VALEUR RENVOYÉE

       Chacune  de  ces fonctions renvoie la valeur décrite ci-dessus, ou NULL
       (-1 dans le cas de mktime()) si une erreur est détectée.

CONFORMITÉ

       POSIX.1-2001. C89 et  C99  définissent  asctime(),  ctime(),  gmtime(),
       localtime()  et  mktime().  POSIX.1-2008 marque asctime(), asctime_r(),
       ctime() et ctime_r() comme étant obsolètes et  recommande  à  la  place
       l'utilisation de strftime(3).

NOTES

       Les  quatre  fonctions  asctime(),  ctime(),  gmtime()  et  localtime()
       renvoient un pointeur vers des données statiques et ne  sont  donc  pas
       sûres  dans  un  contexte  multithread. Les versions multithread sûres,
       asctime_r(), ctime_r(), gmtime_r()  et  localtime_r()  sont  spécifiées
       dans SUSv2, et disponibles depuis la libc 5.2.5.

       POSIX.1-2001  indique : « Les fonctions asctime(), ctime(), gmtime() et
       localtime()  retourneront  les  valeurs  dans  l'un  des  deux   objets
       statiques :  une  structure  de  temps  détraquée et un tableau de type
       char. L'exécution de n'importe laquelle de ces fonctions  peut  écraser
       l'information renvoyée dans l'un ou l'autre de ces objets par n'importe
       quelle autre fonction. » cela peut arriver dans l'implémentation de  la
       glibc.

       Dans  beaucoup  d'implémentations, dont la glibc, un 0 dans tm_mday est
       interprété comme le dernier jour du mois précédant.

       La structure tm de la glibc possède des champs supplémentaires

              long  tm_gmtoff;      /* Secondes à l'est du temps universel */
              const char *tm_zone;  /* Abréviation du nom du fuseau horaire */

       définis lorsque _BSD_SOURCE est définie avant l'inclusion de  <time.h>.
       Ceci est une extension BSD, présente dans BSD 4.3-Reno.

       Selon  POSIX.1-2004,  localtime()  doit  se  comporter comme si tzset()
       avait été appelée, alors que localtime_r() n'a pas cette exigence. Pour
       un code portable, tzset() devrait être appelé avant localtime_r().

VOIR AUSSI

       date(1),  gettimeofday(2),  time(2),  utime(2),  clock(3), difftime(3),
       strftime(3), strptime(3), timegm(3), tzset(3), time(7)

COLOPHON

       Cette page fait partie de  la  publication  3.32  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue à l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'équipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe Blaess  <URL:http://www.blaess.fr/christophe/>  (1996-2003),
       Alain  Portal  <URL:http://manpagesfr.free.fr/>  (2003-2006). Florentin
       Duneau et l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».

                                25 février 2010                       CTIME(3)