Provided by: manpages-fr-dev_2.80.1-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  pour les macros de test de fonctionnalité de la glibc (consultez
   feature_test_macros(7)) :

       asctime_r(), ctime_r(), gmtime_r(), localtime_r() :
       _POSIX_C_SOURCE || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       Les fonctions ctime(),  gmtime()  et  localtime()  prennent  toutes  un
       paramètre de type time_t qui représente une date. Si l’on interprète ce
       paramètre comme une valeur absolue, il s’agit  du  nombre  de  secondes
       écoulées  depuis  le  1er Janvier 1970 à 00h 00m 00s en temps universel
       (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 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 statique qui sera écrasée à chaque appel
       ultérieur d’une fonction de date ou de temps. La fonction définit aussi
       la variable externe tzname avec  les  informations  du  fuseau  horaire
       (voyez  tzset(3)).  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 fourni par l’utilisateur. Elle n’a pas besoin de définir
       tzname.

       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.

       La fonction asctime() convertit une date au format  humain  tm  en  une
       chaîne  de  caractères  au  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 fourni par l’utilisateur.

       La  fonction  mktime()  convertit une date au format humain en une date
       locale sous forme  calendrier.  La  fonction  ignore  les  valeurs  des
       membres  tm_wday  et  tm_yday  de  la  structure,  et  les recalcule en
       utilisant les autres membres. Si des membres de la structure  débordent
       de  leur  intervalle autorisé, ils seront normalisés (par exemple le 40
       octobre devient le 9 novembre). L’appel de mktime()  définit  également
       la  variable externe tzname avec les informations du fuseau horaire. Si
       la date  au  format  humain  ne  peut  pas  être  convertie  en  format
       calendrier  (nombre  de  secondes depuis le 1er janvier 1970), mktime()
       renvoie la valeur (time_t) -1 et ne modifie pas les membres tm_wday  et
       tm_yday.

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().

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 multithreads. Les versions multithreads 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.

       D’après  POSIX.1-2004, localtime() doit se comporter comme si tzset() a
       été appelé, 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  2.80  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

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

                                 6 avril 2008                         CTIME(3)