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.
Hinweis |
---|
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( <ime );
// Obtain coordinated universal time:
err = _gmtime64_s( &newtime, <ime );
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
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
localtime_s, _localtime32_s, _localtime64_s