gmtime
, , _gmtime32
_gmtime64
Převede časovou time_t
hodnotu na tm
strukturu. K dispozici jsou bezpečnější verze těchto funkcí; viz gmtime_s
, _gmtime32_s
, _gmtime64_s
.
Syntaxe
struct tm *gmtime( const time_t *sourceTime );
struct tm *_gmtime32( const __time32_t *sourceTime );
struct tm *_gmtime64( const __time64_t *sourceTime );
Parametry
sourceTime
Ukazatel na uložený čas. Čas je reprezentován jako sekundy uplynulé od půlnoci (00:00:00), 1. ledna 1970, koordinovaný univerzální čas (UTC).
Vrácená hodnota
Ukazatel na strukturu typu tm
. Pole vrácené struktury obsahují vyhodnocenou hodnotu argumentu sourceTime
v UTC, nikoli v místním čase. Každé pole struktury je typu int
, následujícím způsobem:
Pole | Popis |
---|---|
tm_sec |
Sekundy po minutě (0 – 59). |
tm_min |
Minuty po hodině (0 – 59). |
tm_hour |
Hodiny od půlnoci (0 - 23). |
tm_mday |
Den v měsíci (1 – 31). |
tm_mon |
Měsíc (0 – 11; Leden = 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; 1. ledna = 0). |
tm_isdst |
Vždy 0 pro gmtime . |
32bitové i 64bitové verze gmtime
, mkgmtime
mktime
a localtime
všechny používají jednu společnou tm
strukturu na vlákno pro převod. Každé volání jedné z těchto funkcí zničí výsledek předchozího volání. Pokud sourceTime
představuje datum před půlnocí, 1. ledna 1970, gmtime
vrátí hodnotu NULL
. Nevrátí se žádná chyba.
_gmtime64
, který používá __time64_t
strukturu, umožňuje vyjádřit data do 23:59:59, 31. prosince 3000 UTC. _gmtime32
Představují pouze data do 23:59:59 18, 2038 UTC. Půlnoc, 1. ledna 1970, je dolní mez rozsahu dat pro obě funkce.
gmtime
je vložená funkce, která se vyhodnotí jako _gmtime64
, a time_t
je ekvivalentní, __time64_t
pokud _USE_32BIT_TIME_T
není definována. Pokud musíte vynutit, aby kompilátor interpretoval time_t
jako starý 32bitový time_t
, můžete definovat _USE_32BIT_TIME_T
, ale to způsobí gmtime
, že bude vložen do _gmtime32
řádku a time_t
bude definován jako __time32_t
. Nedoporučujeme používat _USE_32BIT_TIME_T
, protože není povolený na 64bitových platformách. V každém případě může vaše aplikace selhat po 18. lednu 2038.
Tyto funkce ověřují své parametry. Pokud sourceTime
je NULL
ukazatel nebo pokud sourceTime
je hodnota záporná, tyto funkce vyvolat neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, funkce se vrátí NULL
a nastaví errno
na EINVAL
.
Poznámky
Funkce _gmtime32
rozdělí sourceTime
hodnotu a uloží ji do staticky přidělené struktury typu tm
, definované v TIME.H
. Hodnota sourceTime
je obvykle získána z volání funkce time
.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaná hlavička jazyka C | Požadovaná hlavička C++ |
---|---|---|
gmtime , , _gmtime32 _gmtime64 |
<time.h> |
<ctime> nebo <time.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // C4996
// Note: _gmtime64 is deprecated; consider using _gmtime64_s
asctime_s( buff, sizeof(buff), newtime );
printf( "Coordinated universal time is %s\n", buff );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002
Viz také
Správa času
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