Provided by: manpages-fr-dev_3.57d1p1-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 [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                       */
           };

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

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

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <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> ».

                                         30 décembre 2013                                CTIME(3)