gmtime_s, _gmtime32_s, _gmtime64_s
Převede hodnotu času struktury.Tyto verze jsou _gmtime32, _gmtime64 s vylepšení zabezpečení popsaným v Funkce zabezpečení v 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
);
Parametry
_tm
Ukazatel tm struktury.Pole vrácené struktury podržte vyhodnocené hodnoty timer argument v UTC, nikoli v místním čase.time
Ukazatel času uložené.Čas je reprezentován jako sekund uplynulých od půlnoci (00: 00), 1. ledna 1970, koordinovaný světový čas (UTC).
Vrácená hodnota
Nula, pokud je úspěšná.Vrácená hodnota je kód chyby, pokud nedošlo k selhání.Kódy chyb jsou definovány v Errno.h; seznam těchto chyb naleznete v kód chyby.
Chybové podmínky
_tm |
time |
Vrátit |
Hodnota v_tm |
---|---|---|---|
NULL |
žádné |
EINVAL |
Nebude změněn. |
Není NULL (odkazuje na platný paměti) |
NULL |
EINVAL |
Všechna pole nastavena na hodnotu -1. |
NeníNULL |
< 0 |
EINVAL |
Všechna pole nastavena na hodnotu -1. |
Z první dvě chybové podmínky, je vyvolána neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátit se EINVAL.
Poznámky
_gmtime32_s Funkce rozdělí time hodnotu a ukládá do struktury typu tm, definované v Time.h.Předaná adresa struktury _tm.Hodnota time se obvykle získá z volání time funkce.
[!POZNÁMKA]
Cílové prostředí se pokuste zjistit, zda je v platnosti letní čas.C Runtime library předpokládá USA pravidla pro výpočet letní čas.
Každé pole struktura je typu int, jak je uvedeno v následující tabulce.
tm_sec
Sekund po minuta (0-59).tm_min
Minut po hodině (0-59).tm_hour
Hodin od půlnoci (0-23).tm_mday
Den v měsíci (1-31).tm_mon
Měsíc (0 – 11; Ledna = 0).tm_year
Rok (aktuální rok minus 1900).tm_wday
Den v týdnu (0 – 6; Neděle = 0).tm_yday
Den roku (0 – 365; Ledna = 0).tm_isdst
Vždy 0 pro gmtime.
_gmtime64_s, která používá __time64_t struktury, umožňuje data vyjádřeno až 23: 59: 59, do 31. prosince 3000 UTC; že gmtime32_s představují pouze data prostřednictvím 03: 14: 07 19 01.01.08, UTC.Půlnoc, 1. ledna 1970 je dolní mez rozsah dat pro obě tyto funkce.
gmtime_svložené funkce, jehož výsledkem je _gmtime64_s a time_t je ekvivalentní __time64_t.Chcete-li vynutit kompilátor interpretace time_t jako staré 32-bit time_t, můžete definovat _USE_32BIT_TIME_T.Tím dojde k gmtime_s se v technologii kanálů umožňuje na _gmtime32_s.Nedoporučuje se, protože aplikace může selhat po 18 01.01.08, a není povoleno na 64bitových platformách.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
gmtime_s |
<time.h> |
_gmtime32_s |
<time.h> |
_gmtime64_s |
<time.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Příklad
// 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 );
}
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
localtime_s, _localtime32_s, _localtime64_s