Delen via


gmtime, _gmtime32_gmtime64

Converteert een time_t tijdwaarde naar een tm structuur. Er zijn veiligere versies van deze functies beschikbaar; zie gmtime_s, , _gmtime64_s_gmtime32_s.

Syntaxis

struct tm *gmtime( const time_t *sourceTime ); // See note in remarks section about linkage
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );

Parameterwaarden

sourceTime
Wijs de opgeslagen tijd aan. De tijd wordt weergegeven als seconden die zijn verstreken sinds middernacht (00:00:00), 1 januari 1970, gecoördineerde universele tijd (UTC).

Retourwaarde

Een aanwijzer naar een structuur van het type tm. De velden van de geretourneerde structuur bevatten de geëvalueerde waarde van het sourceTime argument in UTC in plaats van in lokale tijd. Elk van de structuurvelden is van het type int, als volgt:

Veld Description
tm_sec Seconden na minuut (0 - 59).
tm_min Minuten na uur (0 - 59).
tm_hour Uren sinds middernacht (0 - 23).
tm_mday Dag van de maand (1 - 31).
tm_mon Maand (0 - 11; Januari = 0).
tm_year Jaar (huidig jaar minus 1900).
tm_wday Dag van de week (0 - 6; Zondag = 0).
tm_yday Dag van het jaar (0 - 365; 1 januari = 0).
tm_isdst Altijd 0 voor gmtime.

Zowel de 32-bits als de 64-bits versie van gmtime, mktimemkgmtimeen localtime gebruiken allemaal één gemeenschappelijke tm structuur per thread voor de conversie. Elke aanroep van een van deze functies vernietigt het resultaat van een eerdere aanroep. Als sourceTime een datum vóór middernacht, 1 januari 1970, gmtime retourneert NULL. Er is geen fout geretourneerd.

_gmtime64, die gebruikmaakt van de __time64_t structuur, maakt het mogelijk dat datums worden uitgedrukt tot 23:59:59, 31 december 3000, UTC. _gmtime32 alleen datums tot en met 23:59:59 januari 18, 2038, UTC. Middernacht, 1 januari 1970, is de ondergrens van het datumbereik voor beide functies.

gmtime is een inline-functie die evalueert _gmtime64naar en time_t gelijk is aan __time64_t tenzij _USE_32BIT_TIME_T gedefinieerd. Als u moet afdwingen dat de compiler wordt geïnterpreteerd time_t als de oude 32-bits time_t, kunt u definiëren _USE_32BIT_TIME_T, maar dit zorgt ervoor gmtime dat deze in-line is en _gmtime32time_t wordt gedefinieerd als __time32_t. We raden het gebruik van _USE_32BIT_TIME_T, niet aan, omdat het niet is toegestaan op 64-bits platforms. In elk geval kan uw toepassing mislukken na 18 januari 2038.

Deze functies valideren hun parameters. Als sourceTime dit een NULL aanwijzer is of als de sourceTime waarde negatief is, roepen deze functies een ongeldige parameterhandler aan, zoals beschreven in parametervalidatie. Als de uitvoering mag worden voortgezet, worden de functies geretourneerd NULL en ingesteld op errnoEINVAL.

Opmerkingen

De _gmtime32 functie breekt de waarde op en slaat deze sourceTime op in een statisch toegewezen structuur van het type tm, gedefinieerd in TIME.H. De waarde van sourceTime wordt doorgaans verkregen door een aanroep naar de time functie.

De globale status van deze functie is standaard gericht op de toepassing. Als u dit gedrag wilt wijzigen, raadpleegt u de globale status in de CRT.

Opmerking

Wanneer u Windows SDK versie 10.0.26100.6901 en Visual Studio 2026 of hoger samen gebruikt, gmtime is dit niet meer static inline (interne koppeling). In plaats daarvan is inline het (externe koppeling).
Als u wilt terugkeren naar het vorige gedrag, #define _STATIC_INLINE_UCRT_FUNCTIONS=1 voordat u CRT-headers op te geven. _STATIC_INLINE_UCRT_FUNCTIONS Standaard is ingesteld op 0.
Deze wijziging verhoogt de UCRT-conformiteit met de C++-standaard en verbetert de compatibiliteit met C++-modules.

Requirements

Routine Vereiste C-header Vereiste C++-header
gmtime, _gmtime32_gmtime64 <time.h> <ctime> of <time.h>

Zie Compatibiliteit voor meer compatibiliteitsinformatie.

Example

// 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 );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002

Zie ook

Tijdbeheer
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