C++11中的时间工具

来源:互联网 发布:电脑恢复数据 编辑:程序博客网 时间:2024/06/06 01:41

1. 输出当前时间:

#include <chrono>#include <iomanip>#include <sstream>

void PrintTime(){std::chrono::steady_clock::time_point t = std::chrono::steady_clock::now();std::time_t tickcount = std::chrono::steady_clock::to_time_t(t);std::stringstream ssTime;ssTime << std::put_time(std::localtime(&tickcount), "%Y-%m-%d %H.%M.%S");std::string strTime;std::cout << ssTime.str() << std::endl;}


也可以获取到std::localtime的返回值直接自己格式化输出时间

std::tm* pTime  = std::localtime(&tickcount);std::printf("%04d-%02d-%02d %02d:%02d:%02d", pTime->tm_year, pTime->tm_mon, pTime->tm_mday, pTime->tm_hour, pTime->tm_min, pTime->tm_sec);

2.计时器

        std::chrono::high_resolution_clock::time_point start = std::chrono::high_resolution_clock::now();//some task....        int64_t elapse = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::high_resolution_clock::now() - start).count();        std::cout << "output elapse seconds" << elapse;

std::chrono::duration_cast<std::chrono::seconds>是将时间间隔转化为秒数,也可以用std::chrono::microseconds转化为毫秒数

0 0