Freigeben über


gmtime_s, _gmtime32_s, _gmtime64_s

Konvertiert einen Zeitwert Struktur.Dies sind Versionen von _gmtime32, _gmtime64 mit beschrieben, wie unter Security Enhancements in Sicherheitsfeatures im CRT.

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 auf eine tm Struktur.Die Felder der zurückgegebenen Struktur halten den ausgewerteten Wert des Arguments timer anstelle von UTC in Ortszeit angegeben.

  • time
    Zeiger auf gespeicherten Zeit.Die Zeit wird als verstrich seit Mitternacht vergangenen Sekunden (00:00) dargestellt: am 1. Januar 1970 00) koordinierte Weltzeit (UTC).

Rückgabewert

Beliebige wenn der Vorgang erfolgreich war.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

alle

EINVAL

Nicht geändert.

Nicht NULL (Zeigt auf den gültigen Arbeitsspeicher)

NULL

EINVAL

Alle Felder auf -1 festgelegt.

Nicht NULL

< 0

EINVAL

Alle Felder auf -1 festgelegt.

Bei der ersten beiden Fehlerbedingungen ungültige Parameter wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieses Features zu errno festlegen EINVAL und geben EINVAL.

Hinweise

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

HinweisHinweis

Die Zielumgebung versuchen soll, um zu ermitteln, ob der Sommerzeit gültig ist.Die C-Laufzeitbibliothek weist folgendes USA-Regeln zum Implementieren der Berechnung der Sommerzeit an.

Alle Felder der Struktur ist vom Typ int, wie in der folgenden Tabelle dargestellt.

  • tm_sec
    Sekunden (0 Minute nach 59).

  • tm_min
    Minuten nach der vollen Stunde (0:59).

  • tm_hour
    seit Mitternacht vergangenen Stunden (0:23).

  • tm_mday
    Tag des Monats (1 bis 31).

  • tm_mon
    Monat (0 bis 11. Januar = 0).

  • tm_year
    Jahres (laufendes Jahr minus 1900).

  • tm_wday
    Tag der Woche (0 – 6; Sonntag = 0).

  • tm_yday
    Tag des Jahres (0 – 365; Am 1. Januar = 0).

  • tm_isdst
    Immer 0 für gmtime.

_gmtime64_s, die die __time64_t - Struktur verwendet, stellt die oben und 23:59 Datumsangaben ausgedrückt werden: 59 3000 am 31. Dezember, UTC. gmtime32_s von Datumsangaben nur während 03:14 Uhr darstellen: Am 7. Januar 19 2038, UTC.Mitternacht am 1. Januar 1970 ist die Untergrenze des Datumsbereichs für beide dieser Funktionen.

gmtime_s ist eine Inlinefunktion, die _gmtime64_s auswertet und time_t zu __time64_tentspricht.Wenn Sie den Compiler erzwingen müssen, um alte als time_t 32-Bit- time_tinterpretiert wird, können Sie _USE_32BIT_TIME_Tdefinieren.Auf diese Weise wird gmtime_s , _gmtime32_sin-gesäumt sein.Dies wird nicht empfohlen, da die Anwendung möglicherweise nach dem 18. Januar 2038 fehlschlägt, und sie wird nicht auf 64-Bit-Plattformen nicht zulässig.

Anforderungen

Routine

Erforderlicher Header

gmtime_s

<time.h>

_gmtime32_s

<time.h>

_gmtime64_s

<time.h>

Weitere Informationen finden Sie unter Kompatibilität 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

Zeit-Verwaltung

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

Zeit, _time32, _time64