Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r,
gmtime_r, localtime_r - Convertir des dates et des temps au format
annee/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 fonctionnalites 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
parametre de type time_t qui represente un temps en seconde. Si l'on
interprete ce parametre comme une valeur absolue, il s'agit du nombre
de secondes ecoulees depuis l'epoque, 1er janvier 1970 a 00:00:00
(UTC).
Les fonctions asctime() et mktime() utilisent toutes deux un parametre
representant le temps dans un format humain, c'est a dire annee, mois,
jour, etc.
La representation humaine (<< broken-down time >>) est stockee dans une
structure tm, definie 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; /* annee */
int tm_wday; /* jour de la semaine */
int tm_yday; /* jour de l'annee */
int tm_isdst; /* decalage horaire */
};
Les membres de la structure tm sont :
tm_sec Le nombre de secondes ecoulees depuis le dernier changement
de minute. Normalement dans l'intervalle 0 a 59, ce membre
peut aller jusqu'a 60 durant les secondes de rattrapage.
tm_min Le nombre de minutes ecoulees depuis le dernier changement
d'heure, dans l'intervalle 0 a 59.
tm_hour Le nombre d'heures ecoulees depuis minuit, dans l'intervalle
0 a 23.
tm_mday Le quantieme du mois, dans l'intervalle 1 a 31.
tm_mon Le nombre de mois ecoules depuis le debut de l'annee, dans
l'intervalle 0 a 11.
tm_year Le nombre d'annees ecoulees depuis 1900.
tm_wday Le nombre de jours ecoules depuis dimanche, dans l'intervalle
0 a 6.
tm_yday Le nombre de jours ecoules depuis le 1er janvier, dans
l'intervalle 0 a 365.
tm_isdst Un drapeau indiquant si le decalage heure d'hiver, heure
d'ete est en cours au moment de l'appel. La valeur retournee
est positive si le decalage est actif, nulle s'il ne l'est
pas, et negative si l'information n'est pas disponible.
L'appel ctime(t) est equivalent a asctime(localtime(t)). Il convertit
la date t en une chaine de caracteres, terminee par un caractere nul,
de la forme
"Wed Jun 30 21:49:08 1993\n"
Les abreviations des jours de la semaine sont << Sun >>, << Mon >>,
<< Tue >>, << Wed >>, << Thu >>, << Fri >>, et << Sat >>. Les
abreviations des mois sont << Jan >>, << Feb >>, << Mar >>, << Apr >>,
<< May >>, << Jun >>, << Jul >>, << Aug >>, << Sep >>, << Oct >>,
<< Nov >>, et << Dec >>. La valeur renvoyee pointe sur une chaine
statiquement allouee qui sera ecrasee a chaque appel ulterieur d'une
fonction de date ou de temps. La fonction definit aussi les variables
externes tzname, timezone et daylight (consultez tzset(3)) avec les
informations du fuseau horaire. La version reentrante ctime_r()
effectue le meme travail mais stocke la chaine dans un tampon d'une
longueur minimale de 26 caracteres fournie par l'utilisateur. Elle n'a
pas besoin de definir tzname, timezone et daylight.
La fonction gmtime() convertit la date au format calendrier (temps
ecoule depuis un referentiel) timep en une representation humaine
exprimee en temps universel (UTC). Elle peut renvoyer NULL quand
l'annee ne tient pas dans un entier. La valeur renvoyee pointe vers une
structure allouee statiquement qui sera ecrasee a chaque appel
ulterieur d'une fonction de date ou de temps. La fonction reentrante
gmtime_r() effectue le meme travail mais stocke le resultat dans une
structure fournie par l'utilisateur.
La fonction localtime() convertit la date au format calendrier timep en
une representation humaine exprimee en fonction du fuseau horaire de
l'utilisateur. Cette fonction se comporte comme si elle appelait
tzset(3) et definit les variables externes tzname avec les informations
concernant le fuseau horaire, timezone avec la difference (en secondes)
entre le temps universel (UTC) et le temps local, et daylight avec une
valeur non nulle si le decalage horaire saisonnier s'applique durant
l'annee. La valeur renvoyee pointe vers une structure allouee
statiquement qui sera ecrasee a chaque appel ulterieur d'une fonction
de date ou de temps. La fonction reentrante localtime_r() effectue le
meme travail mais stocke le resultat dans une structure fournie par
l'utilisateur. Elle n'a pas besoin de definir tzname, timezone, et
daylight.
La fonction asctime() convertit une date au format humain tm en une
chaine de caracteres, terminee par un caractere nul, dans le meme
format que ctime(). La valeur renvoyee pointe sur une chaine statique
qui sera ecrasee a chaque appel d'une fonction de date et de temps. La
version reentrante asctime_r() effectue le meme travail mais stocke la
chaine dans un tampon d'une longueur minimale de 26 caracteres fournie
par l'utilisateur.
La fonction mktime() convertit une structure de temps au format humain
exprime sous forme d'un temps local en une representation 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 decalage horaire d'ete (DST) a un effet ou non sur le
temps fourni dans la structure tm : une valeur positive signifie que le
decalage horaire d'ete a un effet ; une valeur nulle signifie que le
decalage horaire d'ete n'a aucun effet ; une valeur negative signifie
que mktime() doit determiner si le decalage horaire d'ete a un effet
dans le temps specifie (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 determinees a l'aide des autres
champs ; si la valeur d'un membre de la structure n'est pas dans un
intervalle valide, elle sera normalisee (par exemple, le 40 octobre
sera converti en 9 novembre) ; tm_isdst est defini (selon sa valeur
initiale) a une valeur positive s'il faut prendre en compte le decalage
horaire d'ete, 0 sinon. Un appel a mktime() definit aussi la variable
externe tzname avec le fuseau horaire courant.
Si la representation d'un temps au format humain ne peut pas etre
converti au format calendrier (nombre de secondes depuis l'epoque,
1er janvier 1970 a 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'EE
Chacune de ces fonctions renvoie la valeur decrite ci-dessus, ou NULL
(-1 dans le cas de mktime()) si une erreur est detectee.
CONFORMIT'E
POSIX.1-2001. C89 et C99 definissent asctime(), ctime(), gmtime(),
localtime() et mktime(). POSIX.1-2008 marque asctime(), asctime_r(),
ctime() et ctime_r() comme etant obsoletes et recommande a la place
l'utilisation de strftime(3).
NOTES
Les quatre fonctions asctime(), ctime(), gmtime() et localtime()
renvoient un pointeur vers des donnees statiques et ne sont donc pas
sures dans un contexte multithread. Les versions multithread sures,
asctime_r(), ctime_r(), gmtime_r() et localtime_r() sont specifiees
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 detraquee et un tableau de type
char. L'execution de n'importe laquelle de ces fonctions peut ecraser
l'information renvoyee dans l'un ou l'autre de ces objets par n'importe
quelle autre fonction. >> cela peut arriver dans l'implementation de la
glibc.
Dans beaucoup d'implementations, dont la glibc, un 0 dans tm_mday est
interprete comme le dernier jour du mois precedant.
La structure tm de la glibc possede des champs supplementaires
long tm_gmtoff; /* Secondes a l'est du temps universel */
const char *tm_zone; /* Abreviation du nom du fuseau horaire */
definis lorsque _BSD_SOURCE est definie avant l'inclusion de <time.h>.
Ceci est une extension BSD, presente dans BSD 4.3-Reno.
D'apres POSIX.1-2004, localtime() doit se comporter comme si tzset() a
ete appele, alors que localtime_r() n'a pas cette exigence. Pour un
code portable, tzset() devrait etre appele 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.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Florentin
Duneau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
25 fevrier 2010 CTIME(3)