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( <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 );
}
Odpowiednik w programie .NET Framework
Zobacz też
Informacje
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
gmtime_s, _gmtime32_s, _gmtime64_s
localtime, _localtime32, _localtime64