Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm difftime() trong C++


Trong bài viết này, chúng ta sẽ thảo luận về hàm difftime() trong C++, cú pháp, cách hoạt động và giá trị trả về.

difftime() là hàm built-in trong C++ được định nghĩa trong header <ctime>. Hàm chấp nhận hai tham số kiểu time_t, tính hiệu giữa hai thời điểm.

Cú pháp

double difftime(time_t end, time_t beginning);

Giá trị trả về

Trả về hiệu thời gian tính bằng giây, kiểu double.

Ví dụ 1: Tính giây từ đầu năm đến hiện tại

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

int main() {
    time_t now;
    struct tm newyear;
    double seconds;
    time(&now);
    newyear = *localtime(&now);
    newyear.tm_hour = 0; newyear.tm_min = 0; newyear.tm_sec = 0;
    newyear.tm_mon = 0; newyear.tm_mday = 1;
    seconds = difftime(now, mktime(&newyear));
    printf("%.f giây kể từ đầu năm theo múi giờ hiện tại.\n", seconds);
    return 0;
}

Kết quả

3351041 giây kể từ đầu năm theo múi giờ hiện tại.

Ví dụ 2: Đo thời gian chạy vòng lặp

#include <iostream>
#include <ctime>
using namespace std;

int main() {
    time_t start, ending;
    time(&start);
    for (int i = 0; i < 50000; i++)
        for (int j = 0; j < 50000; j++);
    for (int i = 0; i < 50000; i++)
        for (int j = 0; j < 50000; j++);
    for (int i = 0; i < 50000; i++)
        for (int j = 0; j < 50000; j++);
    time(&ending);
    cout << "Tổng thời gian cần = " << difftime(ending, start) << " giây" << endl;
    return 0;
}

Kết quả

Tổng thời gian cần = 37 giây