C++时间

C++时间

头文件 chrono, 命名空间 std.

 

现在时间

  std::chrono::system_clock::now() 返回系统时钟的当前时间

 

时钟

  std::chrono::system_clock 代表系统当前的时间, 是不稳定的时钟, 并且提供了函数可将时间点转化为 time_t 类型的值
  std::chrono::steady_clock 表示一个稳定的时钟, 所谓稳定指调用 now()时, 其值总是大于上1次.

 

延迟

  std::this_thread::sleep_for() 和 std::this_thread::sleep_until()
  std::this_thread::sleep_for(std::chrono::milliseconds(100)); // 等待 100ms

 

取得当前时间

    #include <chrono>
    #include <sstream>
    #include <iomanip>
    std::string GetTimeStr()
    {
        std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
        time_t tt = std::chrono::system_clock::to_time_t(now);
        struct tm ltm = {0};
        localtime_s(&ltm, &tt);
        std::stringstream stm;
        stm << std::setfill('0');
        stm << std::setw(4) << (ltm.tm_year + 1900) << "-";
        stm << std::setw(2) << (ltm.tm_mon + 1) << "-";
        stm << std::setw(2) << ltm.tm_mday << " ";
        stm << std::setw(2) << ltm.tm_hour << ":";
        stm << std::setw(2) << ltm.tm_min << ":";
        stm << std::setw(2) << ltm.tm_sec;

        return stm.str();
    }

 

计算程序代码执行的时间

    std::chrono::steady_clock::time_point tbegin = std::chrono::steady_clock::now();

    do_something();

    std::chrono::steady_clock::time_point tend = std::chrono::steady_clock::now();

    std::chrono::milliseconds used = std::chrono::duration_cast<std::chrono::milliseconds>(tend - tbegin);
    std::cout << "used time:" << used.count() << " ms" << std::endl;

 

转载于:https://www.cnblogs.com/diysoul/p/5937139.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值