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