Aracılığıyla paylaş


gmtime, _gmtime32, _gmtime64

Bir time_t zaman değerini bir tm yapıya dönüştürür. Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. gmtime_s, _gmtime32_s, _gmtime64_s.

Sözdizimi

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

Parametreler

sourceTime
Depolanan sürenin işaretçisi. Saat, gece yarısından (00:00:00), 1 Ocak 1970'ten (UTC) itibaren geçen saniyeler olarak gösterilir.

Dönüş değeri

türünde tmbir yapıya işaret eden bir işaretçi. Döndürülen yapının alanları, yerel saat yerine UTC'de bağımsız değişkenin sourceTime değerlendirilen değerini tutar. Yapı alanlarının her biri aşağıdaki gibi türündedir int:

Alan Açıklama
tm_sec Dakika sonra saniye (0 - 59).
tm_min Saat sonra dakika (0 - 59).
tm_hour Gece yarısından itibaren saatler (0 - 23).
tm_mday Ayın günü (1 - 31).
tm_mon Ay (0 - 11; Ocak = 0).
tm_year Yıl (geçerli yıl eksi 1900).
tm_wday Haftanın günü (0 - 6; Pazar = 0).
tm_yday Yılın günü (0 - 365; 1 Ocak = 0).
tm_isdst için gmtimeher zaman 0.

hem 32 bit hem de 64 bit sürümleri gmtime, mktime, mkgmtimeve localtime tüm dönüştürme için iş parçacığı başına tek bir ortak tm yapı kullanır. Bu işlevlerden birine yapılan her çağrı, önceki çağrıların sonucunu yok eder. 1 Ocak 1970'de gece yarısından önceki bir tarihi temsil ediyorsanız sourceTime döndürür gmtimeNULL. Hata döndürme yok.

_gmtime64yapısını kullanan, tarihlerin __time64_t 23:59:59, 31 Aralık 3000, UTC'ye kadar ifade edilmesine olanak tanır. _gmtime32 yalnızca 18 Ocak 2038 UTC ile 23:59:59 arasındaki tarihleri temsil eder. 1 Ocak 1970 gece yarısı, her iki işlev için de tarih aralığının alt sınırıdır.

gmtime, olarak değerlendirilen _gmtime64ve time_t tanımlanmadığı sürece _USE_32BIT_TIME_T ile eşdeğer __time64_t olan satır içi bir işlevdir. Derleyiciyi eski 32 bit olarak yorumlamaya time_t zorlamanız gerekiyorsa , tanımlayabilirsiniz_USE_32BIT_TIME_T, ancak bunu yapmak için satır _gmtime32 içinde ve time_t olarak __time32_ttanımlanmasına neden olurgmtime.time_t 64 bit platformlarda kullanılmasına izin verilmediğinden kullanılması _USE_32BIT_TIME_Tönerilmez. Her durumda, uygulamanız 18 Ocak 2038'in ardından başarısız olabilir.

Bu işlevler parametrelerini doğrular. İşaretçiyse sourceTime veya değer negatifsesourceTime, bu işlevler Parametre doğrulama bölümünde açıklandığı gibi geçersiz bir parametre işleyicisi çağırır.NULL Yürütmenin devam etmesi için izin verilirse, işlevler geri döner NULL ve olarak EINVALayarlanırerrno.

Açıklamalar

_gmtime32 işlevi değeri ayırır sourceTime ve içinde tanımlanan statik olarak ayrılmış türünde tmbir yapıda TIME.Hdepolar. değeri sourceTime genellikle işlevine time yapılan bir çağrıdan elde edilir.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli C üst bilgisi Gerekli C++ üst bilgisi
gmtime, _gmtime32, _gmtime64 <time.h> <ctime> veya <time.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// 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

Ayrıca bkz.

Zaman yönetimi
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