gmtime, _gmtime32, _gmtime64
Konvertiert einen Zeitwert in eine Struktur. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter 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
);
Parameter
- timer
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 timer-Arguments im UTC-Format. Die Angabe erfolgt nicht in Ortszeit. Jedes dieser Strukturfelder ist wie folgt vom Typ int:
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 timer ein Datum vor Mitternacht (1. Januar 1970) darstellt, gibt gmtimeNULL zurück. Es gibt keine Fehlerrückgabe.
_gmtime64, das die __time64_t-Struktur verwendet, ermöglicht das Ausdrücken von Daten über den 31. Dezember 3000, 23:59:59 UTC hinaus, während _gmtime32 nur Datumsangaben bis zum 7. Januar 2038, 03:14:07, darstellt. 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 __time32_t eingebunden wird und dass _gmtime32 als time_t definiert wird. Diese Aktion sollte nicht durchgeführt werden, da sie auf 64-Bit-Plattformen nicht zugelassen ist und die Anwendung auf jedem Fall nach dem 18. Januar 2038 fehlschlägt.
Diese Funktionen überprüfen ihre Parameter. Wenn timer ein ungültiger NULL-Zeiger oder der Zeitwert 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 timer-Wert und speichert diesen in eine statistisch zugeordnete Struktur vom Typ tm, die in TIME.H. definiert ist. Der Wert von timer wird in der Regel durch einen Aufruf der time-Funktion abgerufen.
Hinweis
In den meisten Fällen versucht die Zielumgebung zu bestimmen, ob die Sommerzeit wirksam ist.Die C-Laufzeitbibliothek geht davon aus, dass die Regeln der Vereinigten Staaten für die Implementierung der Berechnung der Sommerzeit (DST, Daylight Saving Time) angewendet werden.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
gmtime |
<time.h> |
_gmtime32 |
<time.h> |
_gmtime64 |
<time.h> |
Zusätzliche 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 );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s
localtime, _localtime32, _localtime64