在C++中,是标准库中用于处理时间和持续时间的头文件。它提供了一组类型和函数,用于在程序中测量和操作时间。
以下是一些库中常用的类型和函数:
std::chrono::duration:表示时间的持续时间。它可以用于测量时间间隔,并具有不同的时间单位,如秒、毫秒、微秒等。
std::chrono::time_point:表示时间的特定点。它与std::chrono::duration一起使用,可用于计算时间间隔或表示特定的时间点。
std::chrono::system_clock:表示程序所在系统的时钟,可以用于获取当前时间点。
std::chrono::steady_clock:表示稳定的时钟,可用于测量时间间隔,不受系统时间调整的影响。
std::chrono::duration_cast:用于执行不同持续时间单位之间的类型转换。
std::chrono::time_point_cast:用于执行不同时间精度之间的类型转换。
#include <iostream>
#include<thread>
#include <chrono>
using namespace std;
using namespace chrono;
int main()
{
// 创建一个表示100毫秒的时间间隔
milliseconds duration(100);
// 获取当前时间点
auto start = steady_clock::now();
// 做一些操作,比如等待100毫秒
this_thread::sleep_for(duration);
// 获取操作后的时间点
auto end = steady_clock::now();
// 计算时间差异
auto elapsed = duration_cast<milliseconds>(end - start);
// 输出时间差异
cout << "经过了 " << elapsed.count() << " 毫秒" << endl;
//用不同精度打印当前时间
cout << "秒:" << duration_cast<seconds>(system_clock::now().time_since_epoch()).count() << endl;
cout << "毫秒:" << duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count() << endl;
cout << "微秒:" << duration_cast<microseconds>(system_clock::now().time_since_epoch()).count() << endl;
cout << "纳秒:" << duration_cast<nanoseconds>(system_clock::now().time_since_epoch()).count() << endl;
return 0;
}
out:
经过了 100 毫秒
秒:1693018024
毫秒:1693018024520
微秒:1693018024521755
纳秒:1693018024522670800
D:\Dev-Cpp\code\chrono\Debug\chrono.exe (进程 15192)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .