Aracılığıyla paylaş


difftime, _difftime32, _difftime64

İki ayrı saat arasındaki farkı bulur.

double difftime( 
   time_t timer1,
   time_t timer0 
);
double _difftime32( 
   __time32_t timer1,
   __time32_t timer0 
);
double _difftime64( 
   __time64_t timer1,
   __time64_t timer0 
);

Parametreler

  • timer1
    Bitiş saati.

  • timer0
    Başlangıç saati.

Dönüş Değeri

difftimegeçen süreyi saniye cinsinden verir timer0 için timer1.Döndürülen değer çift duyarlıklı kayan nokta sayısı ' dir.Dönüş değeri 0, belirten bir hata olabilir.

Notlar

difftime İşlevi iki sağlanan zaman değerleri arasındaki farkı hesaplar timer0 ve timer1.

Sağlanan süre değer aralığı içinde sığması gerekir time_t.time_tbir 64-bit değeridir.Böylece, aralığın sonuna 23: 59: 59, 31 Aralık 3000 03: 14: 07 19 Ocak 2038 genişletildi.Düşük aralık time_t yine de gece yarısı, 1 Ocak 1970 olduğunu.

difftimeya da değerlendiren bir satır içi işlevi _difftime32 veya _difftime64 bağlı _USE_32BIT_TIME_T tanımlanır._difftime32 ve _difftime64 doğrudan belirli bir zaman yazı tipi boyutu kullanımını zorlamak için kullanılabilir.

Bu işlevler, kendi parametreleri doğrulayın.Yoksa parametrelerinin sıfırdır veya negatif, 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 0 döndürür ve errno için EINVAL.

Gereksinimler

Yordamı

Gerekli başlık

difftime

<time.h>

_difftime32

<time.h>

_difftime64

<time.h>

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

Örnek

// crt_difftime.c
// This program calculates the amount of time
// needed to do a floating-point multiply 100 million times.
//

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

double RangedRand( float range_min, float range_max)
{
   // Generate random numbers in the half-closed interval
   // [range_min, range_max). In other words,
   // range_min <= random number < range_max
   return ((double)rand() / (RAND_MAX + 1) * (range_max - range_min)
            + range_min);
}

int main( void )
{
   time_t   start, finish;
   long     loop;
   double   result, elapsed_time;
   double   arNums[3];

   // Seed the random-number generator with the current time so that
   // the numbers will be different every time we run.
   srand( (unsigned)time( NULL ) );

   arNums[0] = RangedRand(1, FLT_MAX);
   arNums[1] = RangedRand(1, FLT_MAX);
   arNums[2] = RangedRand(1, FLT_MAX);
   printf( "Using floating point numbers %.5e %.5e %.5e\n", arNums[0], arNums[1], arNums[2] );

   printf( "Multiplying 2 numbers 100 million times...\n" );
   
   time( &start );
   for( loop = 0; loop < 100000000; loop++ )
      result = arNums[loop%3] * arNums[(loop+1)%3]; 
   time( &finish );

   elapsed_time = difftime( finish, start );
   printf( "\nProgram takes %6.0f seconds.\n", elapsed_time );
}
  
  
  

.NET Framework Eşdeğeri

System::DateTime:: çıkarma

Ayrıca bkz.

Başvuru

Kayan nokta türü desteği

Zaman Yönetimi

time, _time32, _time64