CTIME(3)           Manuel du programmeur Linux           CTIME(3)


NOM
       ctime, asctime, gmtime, localtime, mktime - Conversions de
       dates et heures binaires en ASCII.

SYNOPSIS
       #include <time.h>

       char *asctime (const struct tm *timeptr);

       char *ctime (const time_t *timep);

       struct tm *gmtime (const time_t *timep);

       struct tm *localtime (const time_t *timep);

       time_t mktime (struct tm *timeptr);

       extern char *tzname[2];
       long int timezone;
       extern int daylight;

DESCRIPTION
       Les fonctions ctime(), gmtime()  et  localtime()  prennent
       toutes un argument de type time_t qui représente une date.
       Si l'on interprète cet argument comme une valeur  absolue,
       il  s'agit  du  nombre  de secondes écoulées depuis le 1er
       Janvier 1970 à 00h 00m 00s en Temps Universel (TU).

       Les fonctions asctime() et mktime() utilisent toutes  deux
       un  argument de type struct tm, c'est à dire une représen­
       tation binaire divisée  en  année,  mois,  jour,  heure...
       Cette structure tm est définie dans <time.h> ainsi :

              struct tm
              {
                      int     tm_sec;         /* secondes           */
                      int     tm_min;         /* minutes            */
                      int     tm_hour;        /* heures             */
                      int     tm_mday;        /* quantième du mois  */
                      int     tm_mon;         /* mois (0 à 11 !)    */
                      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'inter­
              valle  0  à  59,  ce  membre  peut aller jusqu'à 61
              durant les secondes de rattrapage périodique.

       tm_min Le nombre de minutes  écoulées  depuis  le  dernier



Linux                       5 Mai 1999                          1





CTIME(3)           Manuel du programmeur Linux           CTIME(3)


              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 (0 à 364 si l'année n'est
              pas bissextile).

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

       La fonction ctime() convertit la date timep en une  chaîne
       de caractères de le forme

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

       L'internationalisation  de  la  date est possible en util­
       isant la fonction setlocale(3) et strftime(3).

       Les abréviations pour les jours de la semaine sont  `Sun',
       `Mon', `Tue', `Wed', `Thu', `Fri', et `Sat'.  les abrévia­
       tions pour les  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 de l'une des fonctions ci-dessus.
       La fonction renseigne également la variable externe tzname
       avec les informations concernant le fuseau horaire.

       la  fonction  gmtime()  convertit  la  date  timep  en une
       représentation struct tm exprimée en Temps Universel.

       La fonction localtime() convertit la  date  timep  en  une
       représentation  struct  tm  exprimée en fonction du fuseau
       horaire de l'utilisateur. Cette fonction  renseignent  les



Linux                       5 Mai 1999                          2





CTIME(3)           Manuel du programmeur Linux           CTIME(3)


       variables externes tzname avec les informations concernant
       le fuseau horaire, timezone avec la différence (en  secon­
       des)  entre  Temps  Universel  et Temps Local, et daylight
       avec une valeur non-nulle si le décalage  horaire  saison­
       nier s'applique.

       La  fonction  asctime() convertit la date timeptr exprimée
       sous forme struct tm en une chaîne de caractères  du  même
       format  que  ctime().   La  valeur renvoyée pointe sur une
       chaîne statique qui sera écrasée à chaque appel  de  l'une
       des fonctions ci-dessus.

       La  fonction  mktime()  convertit la date timeptr exprimée
       sous forme struct tm en une date locale sous forme time_t.
       La  fonction  ignore  les  valeurs  transmises des membres
       tm_wday et tm_yday de la structure, et  les  recalcule  en
       utilisant  les  autres  membres.   Si  des  membres de lma
       structures débordent de l'intervalle autorisé, ils  seront
       corrigés  (par  exemple  le 40 Octobre devient le 9 Novem­
       bre).

       L'appel  de  mktime()  renseigne  également  la   variable
       externe  tzname avec les informations concernant le fuseau
       horaire.  Si la structure transmise ne peut pas être  con­
       vertie, mktime() renvoie la valeur (time_t)(-1) et ne mod­
       ifie pas les membres tm_wday et tm_yday.

CONFORMITÉ
       SVID 3, POSIX, BSD 4.3, ISO 9899

VOIR AUSSI
       date(1), gettimeofday(2), time(2), tzset(3),  difftime(3),
       strftime(3), newctime(3).


TRADUCTION
       Christophe Blaess, 1997.




















Linux                       5 Mai 1999                          3