时间和日期处理在应用程序中非常常见,C++通过chrono库提供了丰富的时间相关功能。本文将主要介绍C++ chrono库中的时间处理方法。
一、时钟clock
clock用于查询从程序开始运行到当前所消耗的时间。
#include <chrono>
auto start = chrono::steady_clock::now();
// 运行一些代码
auto end = chrono::steady_clock::now();
chrono::duration<double> diff = end-start;
cout << "运行时间:" << diff.count() << " 秒" << endl;
二、时间点time_point
time_point表示一个时间点。
chrono::time_point<chrono::system_clock> tp;
tp = chrono::system_clock::now(); // 当前时间
chrono::system_clock::time_point start = tp; // 记录开始时间
三、时间段duration
duration表示一个时间段:
chrono::duration<int, milli> interval(1000); // 1000毫秒
chrono::duration<double> diff = end - start; // 时间段长度
四、格式化输出
通过strftime格式化输出时间:
time_t t = chrono::system_clock::to_time_t(tp);
char buf[20] = {0};
strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", localtime(&t));
cout << buf << endl;
chrono库为C++带来了完善的时间管理功能,可以方便进行时间相关计算和格式化输出。掌握chrono的用法可以简化很多时间日期代码。