C++11提供了chrono模版库,实现了一系列时间相关的操作(时间长度、系统时间和计时器)。
头文件:#include
命名空间:std::chrono
一、时间长度
duration模板类用于表示一段时间(时间长度、时钟周期),如:1小时、8分钟、5秒。
duration的定义如下:
template>
class duration
{
……
};
为了方便使用,定义了一些常用的时间长度,比如:时、分、秒、毫秒、微秒、纳秒,它们都位于std::chrono命名空间下,定义如下:
using hours = duration> // 小时
using minutes = duration> // 分钟
using seconds = duration // 秒
using milliseconds = duration // 毫秒
using microseconds = duration // 微秒
using nanoseconds = duration // 纳秒
注意:
duration模板类重载了各种算术运算符,用于操作duration对象。
duration模板类提供了count()方法,获取duration对象的值。
#include <iostream>
#include <chrono>
using namespace std;
void test()
{
chrono::hours c1(1); // 1个小时
chrono::minutes c2(60); // 60分钟
chrono::seconds c3(3600); // 3600秒
chrono::milliseconds c4(60 * 60 * 1000); //毫秒
// chrono::microseconds c5(60 * 60 * 1000 * 1000);//警告:整数溢出
if (c1 == c2)
{
cout <&l