gmtime_s
, _gmtime32_s
, _gmtime64_s
Bir zaman değerini bir tm
yapıya dönüştürür. Bu işlevler, CRT'deki _gmtime32
_gmtime64
Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren sürümleridir.
Sözdizimi
errno_t gmtime_s(
struct tm* tmDest,
const __time_t* sourceTime
);
errno_t _gmtime32_s(
struct tm* tmDest,
const __time32_t* sourceTime
);
errno_t _gmtime64_s(
struct tm* tmDest,
const __time64_t* sourceTime
);
Parametreler
tmDest
Bir tm
yapı işaretçisi. Döndürülen yapının alanları, yerel saat yerine UTC'de bağımsız değişkenin timer
değerlendirilen değerini tutar.
sourceTime
Depolanan süre 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
Başarılı olursa sıfır. Bir hata varsa dönüş değeri bir hata kodudur. Hata kodları içinde Errno.h
tanımlanır; bu hataların listesi için bkz errno
. .
Hata koşulları
tmDest |
sourceTime |
İade | içindeki değer tmDest |
---|---|---|---|
NULL |
herhangi bir | EINVAL |
Değiştirilmedi. |
Değil NULL (geçerli belleğe işaret eden) |
NULL |
EINVAL |
Tüm alanlar -1 olarak ayarlanır. |
Değil NULL |
< 0 | EINVAL |
Tüm alanlar -1 olarak ayarlanır. |
İlk iki hata koşulu, Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, bu işlevler olarak EINVAL
ayarlanır errno
ve döndürürEINVAL
.
Açıklamalar
_gmtime32_s
işlevi değeri ayırır sourceTime
ve içinde tanımlanan türünde tm
bir yapıda Time.h
depolar. Yapısının adresi içinde tmDest
geçirilir. değeri sourceTime
genellikle işleve time
yapılan bir çağrıdan elde edilir.
Yapı alanlarının her biri, aşağıdaki tabloda gösterildiği 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_s her zaman 0. |
_gmtime64_s
yapısını kullanan, tarihlerin __time64_t
23:59:59, 31 Aralık 3000, UTC'ye kadar ifade edilmesini sağlar; ancak gmtime32_s
yalnızca 18 Ocak 2038, UTC ile 23:59:59 arasındaki tarihleri temsil eder. 1 Ocak 1970 gece yarısı, bu işlevlerin her ikisi için de tarih aralığının alt sınırıdır.
gmtime_s
, olarak değerlendirilen _gmtime64_s
ve time_t
ile eşdeğer __time64_t
olan bir satır içi işlevdir. Derleyiciyi eski 32 bit time_t
olarak yorumlamaya time_t
zorlamanız gerekiyorsa tanımlayabilirsiniz_USE_32BIT_TIME_T
. _USE_32BIT_TIME_T
gmtime_s
olarak _gmtime32_s
inlined neden olur. Uygulamanız 18 Ocak 2038'in ardından başarısız olabileceği ve 64 bit platformlarda izin verilmediğinden önermiyoruz _USE_32BIT_TIME_T
.
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_s , _gmtime32_s , _gmtime64_s |
<time.h> |
<ctime> veya <time.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_gmtime64_s.c
// This program uses _gmtime64_s to convert a 64-bit
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime_s to
// convert this structure to an output string.
#include <time.h>
#include <stdio.h>
int main( void )
{
struct tm newtime;
__int64 ltime;
char buf[26];
errno_t err;
_time64( <ime );
// Obtain coordinated universal time:
err = _gmtime64_s( &newtime, <ime );
if (err)
{
printf("Invalid Argument to _gmtime64_s.");
}
// Convert to an ASCII representation
err = asctime_s(buf, 26, &newtime);
if (err)
{
printf("Invalid Argument to asctime_s.");
}
printf( "Coordinated universal time is %s\n",
buf );
}
Coordinated universal time is Fri Apr 25 20:12:33 2003
Ayrıca bkz.
Zaman yönetimi
asctime_s
, _wasctime_s
ctime
, _ctime32
, _ctime64
, , _wctime
, _wctime32
, _wctime64
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime_s
, _localtime32_s
, _localtime64_s
_mkgmtime
, _mkgmtime32
, _mkgmtime64
mktime
, _mktime32
, _mktime64
time
, _time32
, _time64