Loading

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 (voir
   feature_test_macros(7)) :

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

       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, 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  (voyez  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 EPOCH),
       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 multi-threads. Les versions multi-threads 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 BSD4.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  3.23  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> ».

                                 15 mars 2009