C++时间类

时间和日期处理在应用程序中非常常见,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的用法可以简化很多时间日期代码。