Sdílet prostřednictvím


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

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

Aplikace Správa času

asctime_s _wasctime_s

ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

_ftime, _ftime32, _ftime64

gmtime, _gmtime32, _gmtime64

localtime_s, _localtime32_s, _localtime64_s

_mkgmtime, _mkgmtime32, _mkgmtime64

mktime, _mktime32, _mktime64

time, _time32, _time64