Scroll to navigation

time(2) System Calls Manual time(2)

NOM

time - donner l'heure en secondes

BIBLIOTHÈQUE

Bibliothèque C standard (libc, -lc)

SYNOPSIS

#include <time.h>
time_t time(time_t *_Nullable tloc);

DESCRIPTION

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

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

VALEUR RENVOYÉE

S'il réussit, l'appel time renvoie le nombre de secondes écoulées depuis l'époque POSIX. S'il échoue, la valeur ((time_t) -1) est renvoyée, et errno est défini pour préciser l'erreur.

ERREURS

La date ne peut pas être représentée comme une valeur time_t. Cela peut se produire si un exécutable avec un time_t 32 bits est exécuté sur un noyau 64 bits quand la date est 2038-01-19 03:14:08 UTC ou postérieure. Cependant, quand le temps système est en dehors de la plage de time_t dans d'autres situations, le comportement est indéfini.
tloc 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 valable peut alors provoquer un signal SIGSEGV.

VERSIONS

POSIX.1 définit le nombre de secondes écoulées depuis l'époque POSIX grâce à une formule qui est une approximation du nombre de secondes entre une date spécifiée et l'époque POSIX. 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 entre la date et l'époque, POSIX à cause des secondes intercalaires et parce que les horloges système ne sont pas forcément synchronisées avec une référence standard. Les systèmes Linux suivent normalement l'exigence de POSIX que cette valeur ignore les secondes intercalaires, de sorte que les systèmes conformes l'interprètent de façon cohérente ; consultez l'explication A.4.16 de POSIX.1-2018.

Les applications destinées à être exécutées après 2038 doivent utiliser des ABI avec time_t plus grande que 32 bits ; consultez time_t(3type).

Différences entre bibliothèque C et noyau

Sur certaines architectures, une implémentation de time() est fournie dans le vdso(7).

STANDARDS

C11, POSIX.1-2008.

HISTORIQUE

SVr4, 4.3BSD, C89, POSIX.1-2001.

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 l'époque POSIX, 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.

VOIR AUSSI

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

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@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@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@lists.debian.org.

2 mai 2024 Pages du manuel de Linux 6.8