Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       gettimeofday, settimeofday - Lire/écrire l'heure actuelle

SYNOPSIS

       #include <sys/time.h>

       int gettimeofday(struct timeval *tv, struct timezone *tz);

       int settimeofday(const struct timeval *tv, const struct timezone *tz);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       settimeofday() : _BSD_SOURCE

DESCRIPTION

       Les fonctions gettimeofday() et settimeofday() servent à lire ou programmer l'heure  ainsi
       que  le  fuseau  horaire  (timezone). L'argument tv est une structure timeval décrite dans
       <sys/time.h> :

           struct timeval {
               time_t      tv_sec;     /* secondes */
               suseconds_t tv_usec;    /* microsecondes */
           };

       et donne le nombre de  secondes  et  microsecondes  écoulées  depuis  l'époque  (consultez
       time(2)). L'argument tz est une structure timezone composée ainsi :

           struct timezone {
               int tz_minuteswest; /* minutes à l'ouest de Greenwich  */
               int tz_dsttime;     /* type de changement horaire      */
           };

       Si  tv  ou  tz  est  nulle,  la  structure  correspondante  n'est  ni remplie ni renvoyée.
       (Cependant, des avertissements à la compilation seront émis si tv est NULL.

       L'utilisation de la structure timezone est obsolète ; le  paramètre  tz  doit  normalement
       être NULL. Consultez la section NOTES ci-dessous.

       Sous   Linux,   il   existe   une  sémantique  particulière  associée  à  l'appel  système
       settimeofday() si, durant la première invocation (après le boot), il a un argument tz  non
       NULL,  un  argument  tv NULL et un champ tz_minuteswest différent de zéro (dans ce cas, le
       champ tz_dsttime doit être nul). Dans ce cas, on suppose que l'horloge CMOS de la  machine
       est  configurée  sur  le  temps  local,  et que l'on doit l'augmenter de cette valeur pour
       obtenir le temps UTC. Bien entendu, il faut éviter autant que  possible  d'utiliser  cette
       particularité.

VALEUR RENVOYÉE

       gettimeofday  et  settimeofday renvoient 0 s'ils réussissent, ou -1 s'ils échouent, auquel
       cas errno contient le code d'erreur.

ERREURS

       EFAULT tv ou tz pointent en dehors de l'espace d'adressage autorisé.

       EINVAL Le fuseau horaire (ou autre chose) est invalide.

       EPERM  Le  processus  appelant   n'a   pas   les   privilèges   suffisant   pour   appeler
              settimeofday() ; sous Linux, la capacité CAP_SYS_TIME est nécessaire.

CONFORMITÉ

       SVr4,  BSD 4.3.  POSIX.1-2001  décrit gettimeofday() mais pas settimeofday(). POSIX.1-2008
       marque gettimeofday() comme étant obsolète, en recommandant d'utiliser clock_gettime(2)  à
       la place.

NOTES

       L'heure  renvoyée  par  gettimeofday()  est concernée par les sauts discontinus de l'heure
       système (c'est-à-dire si l'administrateur modifie l'heure système lui-même). Si vous devez
       incrémenter l'horloge de façon monotone, consultez clock_gettime(2).

       Les macros opérant sur les structures timeval sont décrites dans timeradd(3).

       Traditionnellement, les champs de la structure timeval étaient de type long.

       Le  champ  tz_dsttime  n'a  jamais  été  utilisé  sous Linux, c'est pourquoi le paragraphe
       ci-dessous n'est présent qu'à but historique.

       Sur d'anciens systèmes, le champ tz_dsttime contient une constante  symbolique  (dont  les
       valeurs  sont  fournies ci‐dessous) qui indique quelle partie du changement horaire annuel
       est en cours. (Remarque : cette valeur  est  constante  tout  au  long  de  l'année,  elle
       n'indique  pas réellement la valeur horaire en cours, elle sélectionne un algorithme). Les
       changements horaires (Daylight Saving Time - DST) sont définis comme suit :

           DST_NONE     /* Aucun */
           DST_USA      /* USA */
           DST_AUST     /* Australie */
           DST_WET      /* Europe occidentale */
           DST_MET      /* Europe centrale */
           DST_EET      /* Europe Orientale */
           DST_CAN      /* Canada */
           DST_GB       /* Grande‐Bretagne et Irlande */
           DST_RUM      /* Roumanie */
           DST_TUR      /* Turquie */
           DST_AUSTALT  /* Australie avec décalage en 1986 */

       Il est évident que le décalage horaire en cours ne peut pas être uniquement fourni par  un
       algorithme  par  pays.  Ce  décalage  dépend de décisions politiques imprévisibles. Ainsi,
       cette méthode des fuseaux horaires a été abandonnée.

VOIR AUSSI

       date(1),  adjtimex(2),  clock_gettime(2),  time(2),   ctime(3),   ftime(3),   timeradd(3),
       capabilities(7), time(7)

COLOPHON

       Cette  page  fait partie de la publication 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis    2010,    cette   traduction   est   maintenue   à   l'aide   de   l'outil   po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du  projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe    Blaess    <http://www.blaess.fr/christophe/>   (1996-2003),   Alain   Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».