怎样在C++中处理更复杂的时间单位,如毫秒或微秒?
时间: 2024-09-19 18:09:30 浏览: 33
C++获取当前时间精确到毫秒Ms
在C++中,如果你想处理更细粒度的时间单位,比如毫秒或微秒,可以继续使用`chrono`库里的其他成员。下面是处理毫秒和微秒的例子:
```cpp
#include <chrono>
#include <ctime>
auto highResStart = std::chrono::high_resolution_clock::now(); // 获取高精度开始时间
// ... 进行耗时的操作 ...
auto highResEnd = std::chrono::high_resolution_clock::now(); // 获取高精度结束时间
// 将高精度时间戳转换为毫秒或微秒
std::chrono::nanoseconds elapsedNs = highResEnd - highResStart;
unsigned long long elapsedMs = elapsedNs.count() / std::chrono::milliseconds(1).count();
unsigned long long elapsedUs = elapsedNs.count() / std::chrono::microseconds(1).count();
std::cout << "程序运行了大约 " << elapsedMs << " 毫秒 (" << elapsedUs << " 微秒)" << std::endl;
```
在这里,`elapsedNs.count()`返回的是纳秒级别的数值,然后我们通过除以特定的时间单位(如`std::chrono::milliseconds(1)`或`std::chrono::microseconds(1)`)将其转换为所需的时间单位。
阅读全文