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 tm
bir 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 gmtime her zaman 0. |
hem 32 bit hem de 64 bit sürümleri gmtime
, mktime
, mkgmtime
ve 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 gmtime
NULL
. Hata döndürme yok.
_gmtime64
yapı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 _gmtime64
ve 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_t
tanı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 EINVAL
ayarlanırerrno
.
Açıklamalar
_gmtime32
işlevi değeri ayırır sourceTime
ve içinde tanımlanan statik olarak ayrılmış türünde tm
bir yapıda TIME.H
depolar. 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( <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
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