c++11中的chrono

在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。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值