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