2 日期与时间操作
2.1 timer 库
timer对象一旦被声明,它的构造函数就会开始计时,后面直接使用elapsed()函数进行测量时间

boost::timer t;                                      //声明一个计时器对象
debug("max timespan:"<<t.elapsed_max()/3600<<"h")    // 最大的时间范围
debug("min timespan:"<<t.elapsed_min()<<"s")         // 最小的时间范围
debug("now time elapsed:"<<t.elapsed()<<"s")         //从声明对象到当前行已使用的时间
debug("timer end")

timer的计时使用的是标准库中里的std::clock()函数,timer的构造函数记录当前clock数作为起始点,每次调用的elapsed()就会获取当前clock 然后减去起始点得到当前流逝或消耗的时间。
美妙的clock数由宏CLOCKS_PER_SEC定义。
elapsed_min是CLOCKS_PER_SEC的倒数
elapsed_max使用的是标准库数值的极限类numberic_limits,获得clock_t类型的最大值
2.2 process_timer
process_timer 派生自timer,会在析构的时候自动输出时间

include <boost/progress.hpp>

using namespace boost;

progress_timer t;
debug(t.elapsed())//输出当前流逝的时间
{
progress_timer t1;//声明之后再析构的时候自动输出流逝的时间
for(i=0;i<10000;i++);
}

参考

http://www.manongjc.com/detail/27-tskxjjdimidvrqq.html

http://t.zoukankan.com/hanerfan-p-4333444.html

https://blog.csdn.net/u013457167/article/details/82913272

https://blog.huati365.com/4f84061f8604d55e

文章目录