Manpages

NOM

time - Lire l’heure

SYNOPSIS

#include <time.h>

time_t time(time_t *tloc);

DESCRIPTION

time() renvoie la date sous la forme du nombre de secondes depuis l’époque, 1er janvier 1970 à 00:00:00 (UTC).

Si tloc n’est pas NULL, le code de retour est également stockée dans la structure vers laquelle il pointe.

VALEUR RENVOYÉE

S’il réussit, l’appel time renvoie le nombre de secondes écoulées depuis l’époque. S’il échoue, la valeur ((time_t) -1) est renvoyée, et errno contient le code d’erreur.

ERREURS

EFAULT

t pointe en dehors de l’espace d’adressage qui vous est accessible (mais voir BOGUES)..

Sur des systèmes où la fonction enveloppe time() de la bibliothèque C appelle une implémentation fournie par vdso(7) (pour ne pas créer de faille dans le noyau), une adresse non valide peut alors provoquer un signal SIGSEGV.

CONFORMITÉ

SVr4, BSD 4.3, C89, C99, POSIX.1-2001. POSIX ne précise pas de condition d’erreur.

NOTES

POSIX.1 définit le nombre de secondes écoulées depuis l’époque grâce à une formule qui est une approximation du nombre de secondes entre une date spécifiée et l’époque. Cette formule prend en compte le fait que les années divisibles par 4 sont bissextiles, sauf les années qui sont divisibles par 100 mais pas par 400. Cette valeur ne correspond donc pas toujours au véritable nombre de secondes écoulées depuis l’époque, à cause des secondes de rattrapage et parce que les horloges système ne sont pas forcément synchronisées avec une référence standard. Cependant elle reste cohérente au cours du temps. Consultez l’explication A.4.15 de POSIX.1-2008 pour plus de détails.

Sur Linux, un appel à time() où tloc vaut NULL ne peut pas échouer avec l’erreur EOVERFLOW, même sur des ABIs où time_t est un entier 32 bits signé et où les tics de l’horloge commncent au moment 2**31 (2038-01-19 03:14:08 UTC, en ignorant le franchissement de seconde). (POSIX.1 permet mais n’exige pas l’erreur EOVERFLOW si les secondes depuis Epoch ne vont pas dans dans time_t.) Au contraire, le comportement sur Linux n’est pas défini quand l’heure du système dépasse la plage time_t. Les applications conoues pour fonctionner après 2038 devraient utiliser des ABIs avec un time_t plus grand que 32 bits.

BOGUES

Les codes de retour d’erreur de cet appel système sont indistincts des retours lorsque l’appel réussit mais que le temps est de quelques secondes avant Epoch, donc la fonction enveloppe de la bibliothèque C ne positionne jamais errno à la fin de cet appel.

Le paramètre tloc est obsolète et devrait toujours être NULL dans du code nouveau. Quand tloc est NULL, l’appel ne peut pas échouer.

différences entre bibliothèque C et noyau
Sur certaines architectures, une implémentation de time() est fournie dans le vdso(7).

VOIR AUSSI

date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7)

COLOPHON

Cette page fait partie de la publication 5.07 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l’adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>;, Stéphan Rafin <stephan.rafin [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org>, David Prévot <david [AT] tilapin.org> et Jean-Philippe MENGUAL <jpmengual [AT] debian.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french [AT] lists.org>.