gmtime, , _gmtime32_gmtime64

Konwertuje time_t wartość czasu na tm strukturę. Dostępne są bezpieczniejsze wersje tych funkcji; zobacz , , _gmtime64_s_gmtime32_s.gmtime_s

Składnia

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

Parametry

sourceTime
Wskaźnik do przechowywanego czasu. Czas jest reprezentowany jako czas, który upłynął od północy (00:00:00), 1 stycznia 1970 r., skoordynowany uniwersalny czas (UTC).

Wartość zwracana

Wskaźnik do struktury typu tm. Pola zwracanej struktury przechowują obliczoną wartość argumentu sourceTime w formacie UTC, a nie w czasie lokalnym. Każde z pól struktury ma typ int, w następujący sposób:

Pole opis
tm_sec Sekundy po minucie (0–59).
tm_min Minuty po godzinie (0–59).
tm_hour Godziny od północy (od 0 do 23).
tm_mday Dzień miesiąca (od 1 do 31).
tm_mon Miesiąc (0– 11; Styczeń = 0).
tm_year Rok (bieżący rok minus 1900).
tm_wday Dzień tygodnia (od 0 do 6; Niedziela = 0).
tm_yday Dzień roku (od 0 do 365; 1 stycznia = 0).
tm_isdst Zawsze 0 dla gmtime.

Zarówno 32-bitowe, jak i 64-bitowe wersje systemów , , i localtime używają jednej wspólnej tm struktury na wątek do konwersjimkgmtime. mktimegmtime Każde wywołanie jednej z tych funkcji niszczy wynik każdego poprzedniego wywołania. Jeśli sourceTime reprezentuje datę przed północą, 1 stycznia 1970 r., gmtime zwraca wartość NULL. Nie ma zwracanego błędu.

_gmtime64, który używa __time64_t struktury, umożliwia wyrażenia dat do 23:59:59, 31 grudnia 3000, UTC. _gmtime32 Reprezentują tylko daty do 23:59:59 stycznia 18, 2038, UTC. Północ, 1 stycznia 1970 r., jest dolną granicą zakresu dat dla obu funkcji.

gmtime jest funkcją śródliniową, która oblicza wartość _gmtime64, i time_t jest równoważna __time64_t , chyba że _USE_32BIT_TIME_T jest zdefiniowana. Jeśli musisz wymusić, aby kompilator interpretował time_t jako stary 32-bitowy time_telement , można zdefiniować _USE_32BIT_TIME_Telement , ale powoduje to, że element gmtime jest w kolejce do _gmtime32 elementu i time_t ma być zdefiniowany jako __time32_t. Nie zalecamy używania elementu _USE_32BIT_TIME_T, ponieważ nie jest to dozwolone na platformach 64-bitowych. W każdym razie aplikacja może zakończyć się niepowodzeniem po 18 stycznia 2038 r.

Te funkcje weryfikują swoje parametry. Jeśli sourceTime jest wskaźnikiem lub wartość sourceTime jest ujemna, te funkcje wywołują nieprawidłową procedurę NULL obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcje zwracają NULL i ustawiają wartość EINVALerrno .

Uwagi

Funkcja _gmtime32 dzieli sourceTime wartość i przechowuje ją w statycznie przydzielonej strukturze typu tm, zdefiniowanej w pliku TIME.H. Wartość sourceTime elementu jest zwykle uzyskiwana z wywołania time funkcji.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek języka C Wymagany nagłówek języka C++
gmtime, , _gmtime32_gmtime64 <time.h> <ctime> lub <time.h>

Aby uzyskać więcej informacji 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 );
}
Coordinated universal time is Tue Feb 12 23:11:31 2002

Zobacz też

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