Freigeben über


gmtime_s, _gmtime32_s, _gmtime64_s

Konvertiert einen Zeitwert in eine Struktur. Diese Versionen sind von _gmtime32, _gmtime64 mit werden, wie in Sicherheitsfunktionen in der CRT beschrieben.

errno_t gmtime_s(
   struct tm* _tm,
   const __time_t* time
);
errno_t _gmtime32_s(
   struct tm* _tm,
   const __time32_t* time
);
errno_t _gmtime64_s(
   struct tm* _tm,
   const __time64_t* time 
);

Parameter

  • _tm
    Zeiger an eine tm-Struktur. Die Felder der zurückgegebenen Struktur enthalten den ausgewerteten Wert des timer-Arguments im UTC-Format. Die Angabe erfolgt nicht in Ortszeit.

  • time
    Zeiger zu gespeicherten 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

Null wenn erfolgreich. Der Rückgabewert ist ein Fehlercode, wenn ein Fehler auftritt. Fehlercodes werden in Errno.h definiert; für Listen, dieser Fehler finden Sie unter errno.

Fehlerbedingungen

_tm

time

Return

Wert in _tm

NULL

any

EINVAL

Nicht geändert.

Nicht NULL (Punkte zum gültigen Arbeitsspeicher)

NULL

EINVAL

Nun fängt Satz bis -1 auf.

Nicht NULL

< 0

EINVAL

Nun fängt Satz bis -1 auf.

Bei der ersten zwei Fehlerzustände wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, stellen diese Funktionen errno auf EINVAL ein und geben EINVAL zurück.

Hinweise

Die _gmtime32_s-Funktion weist den Wert time auf und speichert ihn in einer Struktur des Typs tm, die in Time.h. Die Adresse der Struktur wird in _tm übergeben. Der Wert time wird normalerweise von einem Aufruf der Funktion time abrufen.

Hinweis

Die Zielumgebung sollte versuchen, zu bestimmen, ob Sommerzeit wirksam ist.Die C-Laufzeitbibliothek weist die USAregeln zum Implementieren der Berechnung der Sommerzeit an.

Jedes der Strukturfelder ist vom Typ int, wie in der folgenden Tabelle.

  • 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.

_gmtime64_s, die die __time64_t-Struktur verwendet, unterstützt von 23:59 die oben ausgedrückt werden Datumsangaben: 59 3000 am 31. Dezember, UTC; während gmtime32_s nur Datumsangaben von 03:14 darstellen: Am 7. Januar 19 2038, UTC. Mitternacht am 1. Januar 1970 ist die untere Begrenzung des Zeitraums für beide die Funktionen.

gmtime_s ist eine Inlinefunktion, die _gmtime64_s ergibt und time_t in __time64_t entspricht. Wenn Sie dem Compiler erzwingen müssen, um time_t als 32-Bit- alte time_t interpretiert, können Sie _USE_32BIT_TIME_T definieren. Hierdurch wird gmtime_s, _gmtime32_s in-gesäumt zu sein. Dies ist nicht empfehlenswert, da Ihre Anwendung möglicherweise nach dem 18. Januar 2038 fehlschlägt, und nicht auf 64-Bit-Plattformen zulässig.

Anforderungen

Routine

Erforderlicher Header

gmtime_s

<time.h>

_gmtime32_s

<time.h>

_gmtime64_s

<time.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Beispiel

// crt_gmtime64_s.c
// This program uses _gmtime64_s to convert a 64-bit
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime_s to
// convert this structure to an output string.
 

#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm newtime;
   __int64 ltime;
   char buf[26];
   errno_t err;

   _time64( &ltime );

   // Obtain coordinated universal time: 
   err = _gmtime64_s( &newtime, &ltime );
   if (err)
   {
      printf("Invalid Argument to _gmtime64_s.");
   }
   
   // Convert to an ASCII representation 
   err = asctime_s(buf, 26, &newtime);
   if (err)
   {
      printf("Invalid Argument to asctime_s.");
   }

   printf( "Coordinated universal time is %s\n", 
           buf );
}
  

.NET Framework-Entsprechung

Siehe auch

Referenz

Uhrzeitverwaltung

asctime_s, _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64