gmtime_s, _gmtime32_s, _gmtime64_s
Bir zaman değerinin bir yapıya dönüştürür.Bunlar sürümleridir _gmtime32, _gmtime64 açıklandığı gibi güvenlik geliştirmeleri ile CRT'deki Güvenlik Özellikleri.
errno_t gmtime_s(
struct tm* _tm,
const __time_t* time
);
errno_t _gmtime32_s(
struct tm* _tm,
const __time32_t* time
);
errno_t _gmtime64_s(
struct tm* _tm,
const __time64_t* time
);
Parametreler
_tm
İşaretçi bir tm yapısı.Değerlendirilmiş değerini döndürülen yapısının alanları tutun timer bağımsız değişkeni yerel saat yerine utc.time
Saklı bir süre için işaretçi.Süresi geçen saat gece yarısından itibaren saniye olarak gösterilir (00: 00), 1 Ocak 1970'den itibaren Eşgüdümlü Evrensel Saat (utc).
Dönüş Değeri
Başarılı olursa sıfır.Bir hata varsa dönüş değeri hata kodudur.Hata kodları Errno.h tanımlanır; Bu hataların listesi için bkz: errno.
Hata koşulları
_tm |
time |
Return |
İçindeki değer_tm |
---|---|---|---|
NULL |
herhangi bir |
EINVAL |
Değiştirilmedi. |
Değil NULL (noktaları için geçerli bellek) |
NULL |
EINVAL |
Tüm alanlar -1 olarak ayarlayın. |
DeğilNULL |
< 0 |
EINVAL |
Tüm alanlar -1 olarak ayarlayın. |
İlk iki hata koşulları durumunda geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve EINVAL.
Notlar
_gmtime32_s İşlevi böler time türü bir yapıda saklar ve değer tm, Time.h içinde tanımlı.Adres yapısının geçirilen _tm.Değeri time genellikle bir çağrıya elde time işlevi.
[!NOT]
Hedef ortam ışığından yararlanma ayarı etkin olup olmadığını belirlemek denemelisiniz.c Çalışma Zamanı Kitaplığı ışığından hesaplamayı uygulamak için Amerika Birleşik Devletleri kuralları varsayar.
Her yapı alanlarının türüdür int, aşağıdaki tabloda gösterildiği gibi.
tm_sec
Saniye sonra dakika (0-59).tm_min
Saat dakika (0-59).tm_hour
Gece yarısından sonra saat (0-23).tm_mday
(1 – 31) Ayın günü.tm_mon
Ay (0 – 11; Ocak = 0).tm_year
Yıl (geçerli yıl 1900 eksi).tm_wday
Haftanın günü (0 – 6; Pazar = 0).tm_yday
Yılın günü (0 – 365; Ocak 1 = 0).tm_isdst
Her zaman 0 için gmtime.
_gmtime64_s, kullanan __time64_t yapısı, 23: 59: 59 ile 31 Aralık 3000 utc; yukarı ifade tarihleri verir Oysa gmtime32_s yalnızca 03: 14: 07 19 Ocak 2038 utc aracılığıyla tarihleri temsil eder.Gece yarısı, 1 Ocak 1970, bu işlevler için tarih aralığı alt sınırdır.
gmtime_sdeğerlendiren bir satır içi işlevi _gmtime64_s ve time_t eşdeğeri olan __time64_t.Yorumlamak için derleyici zorlamak gerekirse time_t eski 32-bit olarak time_t, sizin tanımladığınız _USE_32BIT_TIME_T.Bunu neden olur gmtime_s , düzen için olmasını _gmtime32_s.Bu, uygulamanızı 18 Ocak 2038 sonra başarısız olabilir ve 64-bit platformlarda izin verilmez çünkü önerilmez.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
gmtime_s |
<time.h> |
_gmtime32_s |
<time.h> |
_gmtime64_s |
<time.h> |
Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.
Ö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 );
}
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
localtime_s, _localtime32_s, _localtime64_s