Sdílet prostřednictvím


gmtime, _gmtime32, _gmtime64

Převede časovou hodnotu na strukturu.Bezpečnější verze těchto funkcí jsou k dispozici; viz gmtime_s, _gmtime32_s, _gmtime64_s.

struct tm *gmtime( 
   const time_t *timer 
);
struct tm *_gmtime32( 
   const __time32_t *timer 
);
struct tm *_gmtime64( 
   const __time64_t *timer 
);

Parametry

  • timer
    Ukazatel na uložený čas.Čas je vyjádřen v sekundách uplynulých od půlnoci (00:00:00) 1. ledna 1970 koordinovaného univerzálního času (UTC).

Vrácená hodnota

Ukazatel na strukturu typu tm.Pole vrácené struktury obsahují vyhodnocenou hodnotu argumentu timer v UTC, nikoli v místním čase.Každé pole struktury je typu int, a to takto:

  • 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é a 64bitové verze gmtime, mktime, mkgmtime a localtime používají jednu společnou strukturu tm pro vlákno pro převod.Každé volání některé z těchto funkcí ničí výsledek jakéhokoli předchozího volání.Pokud timer představuje datum před půlnocí, 1. ledna 1970, gmtime vrátí NULL.Není vrácena žádná chyba.

_gmtime64, který používá struktury __time64_t, umožňuje vyjádření dat až do 23:59:59, 31 prosince 3000 UTC, zatímco _gmtime32 pouze představuje data do 03:14:07 19. ledna 2038 UTC.Půlnoc 1. ledna 1970 je dolní mez rozsahu kalendářních dat pro obě funkce.

gmtime je vložená funkce, která vyhodnocuje _gmtime64, a time_t je ekvivalent k __time64_t, není-li definována _USE_32BIT_TIME_T.Pokud je nutné donutit kompilátor k interpretaci time_t jako staré 32bitové time_t, můžete definovat _USE_32BIT_TIME_T, způsobí tak ale, že gmtime se vloží do _gmtime32 a time_t pro definici jako __time32_t.Doporučujeme, abyste to nedělali, protože to není povoleno na 64bitových platformách a v každém případě může vaše aplikace selhat po 18. lednu 2038.

Tyto funkce ověřují své parametry.Pokud je timer ukazatel null nebo časová hodnota je negativní, tyto funkce vyvolají obslužnou rutinu neplatného parametru, jak je popsáno v tématu Ověření parametru.Pokud provádění může pokračovat, vrátí funkce NULL a nastaví errno na EINVAL.

Poznámky

Funkce _gmtime32 rozdělí hodnotu timer a uloží ji do staticky přidělené struktury typu tm, definované v souboru TIME.H.Hodnota timer se obvykle získá z volání funkce time.

[!POZNÁMKA]

Ve většině případů cílové prostředí zkusí zjistit, zda je v platnosti letní čas.Knihovna runtime jazyka C předpokládá, že jsou použita pravidla Spojených států pro implementaci výpočtu letního času (DST).

Požadavky

Rutina

Požadované záhlaví

gmtime

<time.h>

_gmtime32

<time.h>

_gmtime64

<time.h>

Další informace o kompatibilitě naleznete 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 );
}
  

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

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