Sdílet prostřednictvím


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, mkgmtimemktimea 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( &ltime );

   // Obtain coordinated universal time:
   newtime = _gmtime64( &ltime ); // 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