Partager via


gmtime, _gmtime32, _gmtime64

Convertit une valeur temporelle en une structure. Des versions plus sécurisées de ces fonctions sont disponibles ; consultez gmtime_s, _gmtime32_s, _gmtime64_s.

struct tm *gmtime( 
   const time_t *timer 
);
struct tm *_gmtime32( 
   const __time32_t *timer 
);
struct tm *_gmtime64( 
   const __time64_t *timer 
);

Paramètres

  • timer
    Pointeur vers le temps stocké. Le temps est représenté sous la forme de secondes écoulées depuis minuit (0h00 : 00), le 1er janvier 1970, Coordinated Universal Time (UTC).

Valeur de retour

Un pointeur vers une structure de type tm. Les champs de la structure retournée conservent la valeur évaluée de l'argument timer à l'heure UTC plutôt qu'à l'heure locale. Chacun des champs de structure est de type int, comme suit :

  • tm_sec
    Les secondes après les minutes (0 à 59).

  • tm_min
    Les minutes après les heure (0 à 59).

  • tm_hour
    les heures depuis minuit (0 à 23).

  • tm_mday
    Le jour du mois (1 à 31).

  • tm_mon
    Le mois (0 à 11 ; Janvier = 0).

  • tm_year
    L'année (année en cours moins 1900).

  • tm_wday
    Le jour de la semaine (0 à 6 ; Dimanche = 0).

  • tm_yday
    Le jour de l'année (0 à 365 ; 1er janvier = 0).

  • tm_isdst
    Toujours 0 pour gmtime.

Les versions 32 bits et 64 bits de gmtime, mktime, mkgmtime, et localtime utilisent toutes une structure tm commune par thread pour la conversion. Chaque appel à une de ces fonctions détruit le résultat de tout appel précédent. Si timer représente une date avant minuit, le 1er janvier 1970, gmtime retourne NULL. Aucun retour d'erreur.

_gmtime64, qui utilise la structure __time64_t, permet aux dates d'être exprimées jusqu'à 23h59 et 59s, le 31 décembre 3000, UTC, tandis que _gmtime32 ne permet d'exprimer les dates que jusqu'à 3h14 et 7s le 19 janvier 2038, UTC. Minuit, le 1er janvier 1970, est la limite inférieure de la plage de dates pour les deux fonctions.

gmtime est une fonction incluse qui prend la valeur _gmtime64, et time_t équivaut à __time64_t à moins que _USE_32BIT_TIME_T ne soit définie. Si vous devez forcer le compilateur à interpréter time_t comme l'ancien 32-bit time_t, vous pouvez définir _USE_32BIT_TIME_T, mais cela entraine gmtime à être donné comme _gmtime32 et time_t à être défini comme __time32_t. Nous vous recommandons de ne pas faire cela, car ce n'est pas autorisé sur les plateformes 64 bits et dans tous les votre application peut échouer après le 18 janvier 2038.

Ces fonctions valident leurs paramètres. Si timer est un pointeur null, ou que la valeur de l'horloge est négative, ces fonctions appellent un gestionnaire de paramètre non valide, comme cela est décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, les fonctions retournent NULL et attribuent à errno la valeur EINVAL.

Notes

La fonction _gmtime32 détaille la valeur du timer et l'enregistre dans une structure allouée statiquement de type tm, définie dans TIME.H. La valeur de timer est généralement obtenue à partir d'un appel à la fonction time.

Notes

Dans la plupart des cas, l'environnement cible essaye de déterminer si l'heure d'été est appliquée.La bibliothèque Runtime C suppose que les règles des États-Unis pour implémenter le calcul de l'heure d'été (DST) sont utilisées.

Configuration requise

Routine

En-tête requis

gmtime

<time.h>

_gmtime32

<time.h>

_gmtime64

<time.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Exemple

// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.
 
#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm *newtime;
   __int64 ltime;
   char buff[80];

   _time64( &ltime );

   // Obtain coordinated universal time:
   newtime = _gmtime64( &ltime ); // C4996
   // Note: _gmtime64 is deprecated; consider using _gmtime64_s
   asctime_s( buff, sizeof(buff), newtime );
   printf( "Coordinated universal time is %s\n", buff );
}
  

Équivalent .NET Framework

Voir aussi

Référence

Gestion du temps

asctime, _wasctime

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime_s, _gmtime32_s, _gmtime64_s

localtime, _localtime32, _localtime64

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64