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
. mktime
gmtime
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_t
element , można zdefiniować _USE_32BIT_TIME_T
element , 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ść EINVAL
errno
.
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( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // 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