نطاقات
المتغيرات
أفعال

difftime

من cppreference.com
< c | chrono
<tbody> </tbody>
معرفة في ملف <time.h>
double difftime( time_t time_end, time_t time_beg );

تقوم بحسب الفارق بين وقتين ميلاديين من النوع time_t‎‏ (time_end - time_beg). في حالة أن ‎time_end‎ تعبر عن نقطة من الزمن تسبق ‎time_beg‎ تكون النتيجة سالبة.

المعطيات

time_beg, time_end - الوقتان الميلاديان المراد مقارنتهما

القيمة المُرجعة

الفرق بين الوقتين بالثواني.

ملحوظات

في أنظمة POSIX, يتم قياس time_t‎ بالثواني وناتج ‎difftime‎ يكافئ الطرح الجبري, لكن المعيار لا يشترط أن تكون ‎time_t‎ نوع لعدد صحيح.

مثال

البرنامج التالي يحسب عدد الثواني التي مرة منذ بداية الشهر

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

int main(void)
{
    time_t now;
    time(&now);

    struct tm beg;
    beg = *localtime(&now);

    // set beg to the beginning of the month
    beg.tm_hour = 0;
    beg.tm_min = 0;
    beg.tm_sec = 0;
    beg.tm_mday = 1;

    double seconds = difftime(now, mktime(&beg));

    printf("%.f seconds have passed since the beginning of the month.\n", seconds);

    return 0;
}

الخرج:

1937968 seconds have passed since the beginning of the month.

أنظر أيضا