gmtime
, _gmtime32
, _gmtime64
Convertit une valeur de temps time_t
en structure tm
. Des versions plus sécurisées de ces fonctions sont disponibles. Consultez gmtime_s
, _gmtime32_s
, _gmtime64_s
.
Syntaxe
struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );
Paramètres
sourceTime
Pointeur désignant la valeur de temps stockée. Le temps est représenté sous forme de secondes écoulées depuis le 1er janvier 1970 minuit (00:00:00), temps universel coordonné (UTC).
Valeur retournée
Pointeur vers une structure de type tm
. Les champs de la structure retournée doivent contenir la valeur évaluée de l’argument sourceTime
en heure UTC plutôt qu’en heure locale. Chacun des champs de la structure est de type int
, comme suit :
Champ | Description |
---|---|
tm_sec |
Secondes après la minute (0 - 59). |
tm_min |
Minutes après l’heure (0 - 59). |
tm_hour |
Heures depuis minuit (0 - 23). |
tm_mday |
Jour du mois (1 - 31). |
tm_mon |
Mois (0 - 11 ; janvier = 0). |
tm_year |
Année (année en cours moins 1900). |
tm_wday |
Jour de la semaine (0 - 6 ; dimanche = 0). |
tm_yday |
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 sourceTime
représente une date antérieure au 1er janvier 1970 à minuit, gmtime
retourne NULL
. Il n’existe aucun retour d’erreur.
_gmtime64
, qui utilise la structure __time64_t
, permet d’exprimer les dates jusqu’à 23:59:59, le 31 décembre 3000, UTC. _gmtime32
représente uniquement les dates jusqu’à 23:59:59 le 18 janvier 2038, UTC. Le 1er janvier 1970 à minuit est la limite inférieure de la plage de dates pour les deux fonctions.
gmtime
est une fonction inline qui prend la valeur _gmtime64
, tandis que time_t
équivaut à __time64_t
sauf si _USE_32BIT_TIME_T
est défini. Si vous devez forcer le compilateur à interpréter time_t
comme l’ancien time_t
32 bits, vous pouvez définir _USE_32BIT_TIME_T
, mais ce faisant gmtime
se retrouve inline avec _gmtime32
, et time_t
doit être défini en tant que __time32_t
. Nous vous déconseillons d’utiliser _USE_32BIT_TIME_T
, car il n’est pas autorisé sur les plateformes 64 bits. Dans tous les cas, votre application risque de ne plus fonctionner après le 18 janvier 2038.
Ces fonctions valident leurs paramètres. Si sourceTime
est un pointeur NULL
, ou si la valeur sourceTime
est négative, ces fonctions appellent un gestionnaire de paramètres non valide, comme indiqué dans Validation des paramètres. Si l’exécution est autorisée à se poursuivre, les fonctions retournent NULL
et affectent à errno
la valeur EINVAL
.
Notes
La fonction _gmtime32
décompose la valeur sourceTime
et la stocke dans une structure allouée de manière statique, de type tm
, définie dans TIME.H
. La valeur de sourceTime
est généralement obtenue à partir d’un appel à la fonction time
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête C requis | En-tête C++ requis |
---|---|---|
gmtime , _gmtime32 , _gmtime64 |
<time.h> |
<ctime> ou <time.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
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( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // C4996
// Note: _gmtime64 is deprecated; consider using _gmtime64_s
asctime_s( buff, sizeof(buff), newtime );
printf( "Coordinated universal time is %s\n", buff );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002
Voir aussi
Gestion des horaires
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