21xrx.com
2024-12-22 21:21:04 Sunday
登录
文章检索 我的文章 写文章
如何用C++计算时间差?
2023-06-23 04:52:19 深夜i     --     --
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`库,可以更加精准地计算时间差,推荐使用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复