码迷,mamicode.com
首页 > 编程语言 > 详细

C++时间

时间:2016-10-08 02:14:42      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

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;

 

C++时间

标签:

原文地址:http://www.cnblogs.com/diysoul/p/5937139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!