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 _gmtime64Gü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.htanı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 tmbir yapıda Time.hdepolar. Yapısının adresi içinde tmDestgeç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_sher zaman 0.

_gmtime64_syapı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_tolan bir satır içi işlevdir. Derleyiciyi eski 32 bit time_tolarak yorumlamaya time_t zorlamanız gerekiyorsa tanımlayabilirsiniz_USE_32BIT_TIME_T. _USE_32BIT_TIME_Tgmtime_s olarak _gmtime32_sinlined 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( &ltime );

   // Obtain coordinated universal time:
   err = _gmtime64_s( &newtime, &ltime );
   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