Freigeben über


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( &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 );
}
  

.NET Framework-Entsprechung

Siehe auch

Referenz

Uhrzeitverwaltung

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