gmtime
, _gmtime32
, _gmtime64
Konvertiert einen time_t
-Zeitwert in eine tm
-Struktur. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter gmtime_s
, _gmtime32_s
, _gmtime64_s
.
Syntax
struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );
Parameter
sourceTime
Zeiger auf die gespeicherte Zeit. Die Zeit wird in Sekunden dargestellt, die seit dem 1. Januar 1970, Mitternacht (00:00: 00), verstrichen sind. Die Anzeige erfolgt im UTC-Format.
Rückgabewert
Ein Zeiger auf eine Struktur des Typs tm
. Die Felder der zurückgegebenen Struktur enthalten den ausgewerteten Wert des sourceTime
-Arguments im UTC-Format. Die Angabe erfolgt nicht in Ortszeit. Jedes dieser Strukturfelder ist wie folgt vom Typ int
:
Feld | Beschreibung |
---|---|
tm_sec |
Sekunden nach Minute (0 - 59). |
tm_min |
Minuten nach Stunde (0 - 59). |
tm_hour |
Stunden seit Mitternacht (0 - 23). |
tm_mday |
Tag im Monat (1 - 31). |
tm_mon |
Monat (0 - 11; Januar = 0). |
tm_year |
Jahr (aktuelles Jahr minus 1900). |
tm_wday |
Tag der Woche (0 - 6; Sonntag = 0). |
tm_yday |
Tag des Jahres (0 - 365; Januar 1 = 0). |
tm_isdst |
Für gmtime immer 0. |
Sowohl die 32-Bit- als auch die 64-Bit-Versionen von gmtime
, mktime
, mkgmtime
und localtime
nutzen für die Konvertierung pro Thread eine gemeinsame tm
-Struktur. Jeder Aufruf dieser Funktionen zerstört das Ergebnis des vorherigen Aufrufs. Wenn sourceTime
ein Datum vor Mitternacht (1. Januar 1970) darstellt, gibt gmtime
NULL
zurück. Es gibt keine Fehlerrückgabe.
_gmtime64
, die die __time64_t
-Struktur verwendet, ermöglicht die Angabe von Datumsangaben bis 23:59:59, 31. Dezember 3000, UTC. _gmtime32
zeigen nur Daten bis 23:59:59, 18. Januar 2038, UTC an. Der 1. Januar 1970 (Mitternacht) ist der untere Datumsbereich für beide Funktionen.
gmtime
ist eine Inlinefunktion, die _gmtime64
auswertet, und time_t
entspricht __time64_t
, sofern nicht, _USE_32BIT_TIME_T
definiert ist. Wenn Sie den Compiler zwingen müssen, time_t
das alte 32-Bit-time_t
zu interpretieren, können Sie _USE_32BIT_TIME_T
definieren. Dies führt jedoch dazu, dass gmtime
in _gmtime32
eingebunden wird und dass time_t
als __time32_t
definiert wird. Die Verwendung von _USE_32BIT_TIME_T
wird nicht empfohlen, da sie auf 64-Bit-Plattformen nicht zulässig ist. In jedem Fall kann Ihre Anwendung nach dem 18. Januar 2038 fehlschlagen.
Diese Funktionen überprüfen ihre Parameter. Wenn sourceTime
ein NULL
-Zeiger oder der Wert sourceTime
negativ ist, rufen diese Funktionen den Handler für ungültige Parameter auf, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt diese Funktion NULL
zurück und setzt errno
auf EINVAL
.
Hinweise
Die _gmtime32
-Funktion gliedert den sourceTime
-Wert und speichert diesen in eine statistisch zugeordnete Struktur vom Typ tm
, die in TIME.H
definiert ist. Der Wert von sourceTime
wird in der Regel durch einen Aufruf der time
-Funktion abgerufen.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher C-Header | Erforderlicher C++-Header |
---|---|---|
gmtime , _gmtime32 , _gmtime64 |
<time.h> |
<ctime> oder <time.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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
Siehe auch
Zeitverwaltung
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