Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
C Programlama

SDL3 Oyun Programlama sayfalarımız yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <time.h> > difftime

difftime() fonksiyonu

Bildirim

double difftime(time_t time_last, time_t time_first);

Açıklama

Time_last ve time_first parametreleri ile gösterilen time_t değerlerinin farkını (time_last-time_first) saniye olarak hesaplar. Eğer time_last değeri time_fisrt değerinden önceki bir zamanı gösteriyorsa, negatif bir sonuç elde edilir.

Parametreler

time_last: Fark alma işleminde son zamanı gösteren time_t değeridir.

time_first: Fark alma işleminde ilk zamanı gösteren time_t değeridir.

Dönüş değeri

İki zaman değeri arasındaki farkı (time_last-time_first) double bir değer olarak geri döndürür.

Örnek


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

int main(void)
{
    time_t time_1970, time_3month;
    struct tm *time_detay;
    double ret;

    time_1970 = time(NULL);

    /* 1 Ocak 1970'den bugüne saniye olarak geçen zaman */
    printf("1 Ocak 1970'den bugüne geçen zaman: %ld saniye\n", time_1970);

    /* Yerel zaman */
    time_detay = localtime(&time_1970);
    printf("Yerel zaman: %s", asctime(time_detay));

    /* 3 ay geri gidiş */
    time_detay->tm_mon -= 3;
    time_3month = mktime(time_detay);
    printf("3 ay önceki yerel zaman: %s", ctime(&time_3month));

    ret = difftime(time_1970, time_3month);

    printf("3 ay önceden bu ana kadar %.2f saniye geçti.", ret);

    return 0;
}


Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar.

1 Ocak 1970'den bugüne geçen zaman: 1571127787 saniye
Yerel zaman: Tue Oct 15 11:23:07 2019
3 ay önceki yerel zaman: Mon Jul 15 11:23:07 2019
3 ay önceden bu ana kadar 7948800.00 saniye geçti.

Program time() fonksiyonu ile 1 Ocak 1970'den bugüne geçen zamanı saniye olarak alır ve ekrana yazar. Bu değeri localtime() fonksiyonu ile yerel zamana çevirerek, asctime() fonksiyonu ile ekrana yazar. Zaman yapısı içinde sadece tm_mon değerini 3 ay geri alarak mktime() fonksiyonu ile yeni bir time_t değeri oluşturur. Yeni zamanı ctime() fonksiyonu ile ekrana yazar. Son olarak, difftime() fonksiyonu iki zaman diliminin farkını saniye olarak alır ve elde ettiği değeri ekrana yazar.