gmtime, _gmtime32, _gmtime64

Konwertuje wartość czasu na strukturę.Bardziej bezpieczne wersje tych funkcji są dostępne w 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
    Wskaźnik na czas przechowywania.Czas jest reprezentowany jako sekundach, które upłynęły od północy (00:00), 1 stycznia 1970 r., skoordynowanego czasu uniwersalnego (UTC).

Wartość zwracana

Wskaźnik do struktury typu tm.Pola zwróconej struktury przechowują ocenianą wartość timer argumentu, zgodnie z czasem UTC, a nie według czasu lokalnego.Każde z pól struktury jest typu int, w następujący sposób:

  • tm_sec
    Sekundy po minucie (0-59).

  • tm_min
    Minuty po godzinie (0-59).

  • tm_hour
    Godziny od północy (0-23).

  • tm_mday
    Dzień miesiąca (1 – 31).

  • tm_mon
    Miesiąc (0-11; Styczeń = 0).

  • tm_year
    Rok (bieżący roku minus 1900).

  • tm_wday
    Dzień tygodnia (0 – 6; Niedziela = 0).

  • tm_yday
    Dzień roku (0 – 365; 1 Stycznia = 0).

  • tm_isdst
    Zawsze 0 dla gmtime.

Zarówno 32-bitowe jak i 64-bitowe wersje gmtime, mktime, mkgmtime i localtime korzystają z jednej wspólnej struktury tm na wątek dla konwersji.Każde wywołanie jednej z tych funkcji niszczy wynik każdego poprzedniego wywołania.Jeśli timer reprezentuje datę wcześniejszą niż północ 1 stycznia 1970 r., gmtime zwraca NULL.Nie będzie zwrotu błędu.

_gmtime64, który korzysta ze struktury __time64_t, umożliwia wyrażenie dat aż do 23:59:59, 31 grudnia 3000, czasu UTC, podczas gdy _gmtime32 przedstawia tylko daty do 03:14:07 19 stycznia 2038 r. UTC.O północy, 1 stycznia 1970 r., to dolna granica zakresu dat dla obu tych funkcji.

gmtime jest funkcją śródwierszową, której wynikiem jest _gmtime64, a time_t jest równoważne z __time64_t chyba że _USE_32BIT_TIME_T została zdefiniowana.Jeśli trzeba wymusić na kompilatorze interpretowanie time_t jako stary 32-bitowy time_t, można zdefiniować _USE_32BIT_TIME_T, ale wykonanie tego powoduje, że gmtime będzie wyrównane z _gmtime32 i time_t można zdefiniować jako __time32_t.Firma Microsoft zaleca, aby nie nie robić tego, ponieważ nie jest to dozwolone na platformach 64-bitowych, a tak czy tak aplikacja może przestać działać po 18 stycznia 2038.

Te funkcje sprawdzają poprawność swoich parametrów.Jeśli timer jest pustym wskaźnikiem lub jeżeli wartość regulatora czasowego jest ujemna, te funkcje wywołają procedurę obsługi nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, funkcje zwracają NULL i ustawiają errno jako EINVAL.

Uwagi

_gmtime32 funkcja dzieli timer wartości i zapisuje je w strukturze statycznie przydzielanego typu tm, zdefiniowanego w czasie.H.Wartość timer uzyskuje się zazwyczaj w wyniku wywołania time funkcji.

[!UWAGA]

W większości przypadków środowiska docelowe próbują określić, czy włączono czas letni.Biblioteki wykonawcze C zakładają, że używane są zasady Stanów Zjednoczonych wykonywania obliczeń czasu letniego (DST).

Wymagania

Procedura

Wymagany nagłówek

gmtime

<czas.h>

_gmtime32

<czas.h>

_gmtime64

<czas.h>

Dodatkowe informacje o zgodności – zobacz: Zgodność.

Przykład

// 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 );
}
  

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Zarządzanie czasem

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