21xrx.com
2025-03-22 07:43:56 Saturday
文章检索 我的文章 写文章
如何用C++计算时间差?
2023-06-23 04:52:19 深夜i     16     0
C++ 时间差 计时器 chrono库 高精度计时器

在C++中,我们可以使用时间戳来表示时间,时间戳是自1970年1月1日0时0分0秒(UTC)起经过的秒数。因此,计算时间差也就是计算时间戳的差值。下面是计算时间差的步骤:

1. 引入头文件

#include <chrono>

2. 定义时间点

auto start = std::chrono::system_clock::now(); // 获取开始时间点
auto end = std::chrono::system_clock::now();  // 获取结束时间点

3. 计算时间差

auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); // 计算时间差

这里采用了`duration_cast`函数来将时间戳差值转换为毫秒数。我们还可以将时间戳转换为其他时间单位,比如秒、微秒等。

完整的代码如下:

#include <iostream>
#include <chrono>
int main()
{
  auto start = std::chrono::system_clock::now(); // 获取开始时间点
  // 延时一段时间
  for (int i = 0; i < 10000000; i++)
  {
    int j = i * 2;
  }
  auto end = std::chrono::system_clock::now();  // 获取结束时间点
  auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start); // 计算时间差
  std::cout << "Duration: " << duration.count() << "ms\n";
  return 0;
}

通过上面的例子,我们可以得到程序执行的时间差。当然,在实际项目中,我们还可以使用其他方法来计算时间差。比如采用`clock()`函数、`time()`函数等。但是,使用标准库中提供的`chrono`库,可以更加精准地计算时间差,推荐使用。

  
  

评论区