Aracılığıyla paylaş


mktime, _mktime32, _mktime64

Yerel saat, Takvim değerine dönüştürür.

time_t mktime(
   struct tm *timeptr 
);
__time32_t _mktime32(
   struct tm *timeptr 
);
__time64_t _mktime64(
   struct tm *timeptr 
);

Parametreler

  • timeptr
    İşaretçi zaman yapı; Bkz: asctime.

Dönüş Değeri

_mktime32 türünde bir deðer kodlanmış belirtilen Takvim saati döndürür time_t.Timeptr bir tarihten önce gece yarısı, 1 Ocak 1970, başvuran veya takvim zamanında olamaz, temsil, _mktime32 yazmak için artığını –1 değerini döndürür time_t._ Kullanırkenmktime32 ve timeptr başvuru tarihinden sonra 03: 14: 07 19 Ocak 2038 Eşgüdümlü Evrensel Saat (utc)'a onu döndürür yazın artığını –1 time_t.

_mktime64yazın artığını –1 döner __time64_t , timeptr 23: 59: 59, 31 Aralık 3000 utc tarihten başvuruyor.

Notlar

mktime, _Mktime32 ve _mktime64 için (büyük olasılıkla eksik) sağlanan zaman yapı işaret tarafından dönüştürmek işlevleri timeptr ile tam olarak tanımlanmış yapı değerleri normale döndü ve kendisine dönüştürür bir time_t zaman değeritakvim.Aynı kodlama tarafından döndürülen değerler olarak dönüştürülmüş zamana zamanişlev. Özgün değerleri tm_wday ve tm_yday bileşenlerinin timeptryapı dikkate alınmaz ve diğer bileşenlerin özgün değerleri normal kendi aralıkları sınırlı değildir.

mktimeeşdeğer olan bir satır içiişlev _mktime64sürece, _USE_32BIT_TIME_T tanımlı, hangi durumda eşdeğeri olan _mktime32.

utc, _ ayarlama sonramktime32 tutamaçları 19 Ocak 2038 03: 14: 07 için 1 Ocak 1970, gece tarihler._mktime64gece yarısına, 1 Ocak 1970 ile 23: 59: 59, 31 Aralık 3000 tarihleri işler.Bu düzeltme bu işlevlerinin -1 döndürmesine neden (için artığını time_t, __time32_t veya __time64_t), belirlediğiniz tarih aralığında olsa.Kahire, utc önünde iki saat olan Mısır içinde varsa, iki saat önce sizin belirlediğiniz tarihten itibaren çıkarılır timeptr; Şimdi, bu tarih aralık dışında bırakabilir.

Bu işlevleri doğrulamak için kullanılan ve doldurmak bir tmyapı. Başarılı, bu işlevler değerlerini ayarlamak, tm_wday ve tm_yday olarak uygun ve belirtilen Takvim zamanı gösteren diğer bileşenleri ayarlayabilirsiniz, ancak zorla normal aralıkları değerlerine.Son değerini tm_mday kadar ayarlı değil tm_mon ve tm_year belirlenir.Belirtirken bir tm yapı belirlensin tm_isdstalan :

  • Sıfır (0) Standart Saati etkili olduğunu belirtmek için.

  • Gün ışığından yararlanma saatine etkili olduğunu belirtmek için 0'dan büyük bir değer.

  • c çalışma zamanı kitaplık kodu için sıfırla doldurmak değerinden daha düşük bir değer hesaplamak için standart saati gün ışığından yararlanma saatine yürürlükte olup.

c çalışma zamanı kitaplık Yaz tasarrufu zaman davranış belirleyecek tzortamdeğişken. tz ayarlı değil, Win32 API çağrısıGetTimeZoneInformation ışığından işletim sisteminden zaman bilgilerini almak için kullanılır. Bu başarısız olursa, Amerika Birleşik Devletleri kuralları ışığından hesaplamayı uygulamak için kullanılan kitaplık varsayar.tm_isdst alangereklidir.Aksi takdirde değerini ayarlamak, tanımlı değil ve bu işlevler gelen bir dönüş değeri öngörülemeyen.Timeptr işaret eden bir tmönceki bir çağrı tarafından döndürülenyapı asctime, gmtime, veya localtime (veya bu fonksiyonların türevleri), tm_isdstalan doğru değeri içerir.

Dikkat gmtime ve localtime (ve _gmtime32, _gmtime64, _localtime32, ve _localtime64) iş parçacığı başına tek bir arabelleğe dönüşümü için kullanın.Bu arabellek sağlarsanız mktime, _mktime32 veya _mktime64, önceki içeriği yok edilir.

Bu, parametre doğrulamak işlevleri.Timeptr boş işaretçi geçersizparametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilirse, İşlevler -1 döndürür ve errno için EINVAL.

Gereksinimler

Yordamı

Gerekli üstbilgi

mktime

<time.h>

_mktime32

<time.h>

_mktime64

<time.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Kitaplıkları

Tüm sürümleri c çalışma zamanı kitaplıkları.

Örnek

// crt_mktime.c
/* The example takes a number of days
 * as input and returns the time, the current
 * date, and the specified number of days.
 */

#include <time.h>
#include <stdio.h>

int main( void )
{
   struct tm  when;
   __time64_t now, result;
   int        days;
   char       buff[80];

   time( &now );
   _localtime64_s( &when, &now );
   asctime_s( buff, sizeof(buff), &when );
   printf( "Current time is %s\n", buff );
   days = 20;
   when.tm_mday = when.tm_mday + days;
   if( (result = mktime( &when )) != (time_t)-1 ) {
      asctime_s( buff, sizeof(buff), &when );
      printf( "In %d days the time will be %s\n", days, buff );
   } else
      perror( "mktime failed" );
}

Örnek Çıktı

Current time is Fri Apr 25 13:34:07 2003

In 20 days the time will be Thu May 15 13:34:07 2003

.NET Framework Eşdeğeri

System::DateTime::DateTime

Ayrıca bkz.

Başvuru

Zaman Yönetimi

asctime, _wasctime

gmtime, _gmtime32, _gmtime64

localtime, _localtime32, _localtime64

_mkgmtime, _mkgmtime32, _mkgmtime64

time, _time32, _time64