Index général des pages de man   Index Section man 3   Table des Matières de ctime   Imprime la page de man ctime en mode Texte   Recherche dans les pages de man   Page de man en français      Fonctions des bibliothèques (section 3)

ctime

 
  

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ésentation 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'intervalle 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 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 utilisant 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éviations 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 variables externes tzname avec les informations concernant le fuseau horaire, timezone avec la différence (en secondes) entre Temps Universel et Temps Local, et daylight avec une valeur non-nulle si le décalage horaire saisonnier 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 la structure débordent de l'intervalle autorisé, ils seront corrigés (par exemple le 40 Octobre devient le 9 Novembre).

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 convertie, mktime() renvoie la valeur (time_t)(-1) et ne modifie 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.


Table des matières


Haut de page

© 1996-2000 Adaptation française "Christophe Blaess"