时间类分为:时间,时间点,时间间隔
auto beg_t = std::chrono::system_clock::now(); 当前时间点
时间间隔 std::chrono::duration<>
时间点相减就是时间间隔。不用考虑细节。时间点相减之后需要 用duration_cast转化为某一单位ns,ms等。
时间间隔的单位可以自己定义如下: 也可以用标准的ms,ns等
typedef duration < /* see rep below */, milli > milliseconds;
duration模板类
template<
class Rep,
class Period = std::ratio<1>
> class duration;
Period决定了表示时间的尺度,默认为1(即秒)
例如 std::chrono::duration<double> 以秒为单位的时间间隔
求时间差code:
auto beg_t = std::chrono::system_clock::now(); //起始时间
auto end_t = std::chrono::system_clock::now(); //结束时间
std::chrono::duration<double> diff = end_t - beg_t;//时间间隔s
chrono::duration_cast<chrono::milliseconds>(end_t - beg_t).count();//时间间隔ms
printf("performTest total time:%lf\n", diff); //打印diff/diff.count()
参考
http://www.cnblogs.com/jwk000/p/3560086.html