Boost库简单运用——时间与日期的处理(一)

来源:互联网 发布:网狐6603完整源码全套 编辑:程序博客网 时间:2024/05/29 07:38

    对于时间与日期的处理一直都是一个比较复杂的问题,而C++中对于时间与日期的处理也是比较简陋的,并不像Java、C#之流提供了非常方便易用的类。但随着Boost的推出,对于时间的处理也变得越来越简单方便了,今天我们就来学习一些较为方便的处理方式:

    首先,我们先来了解Boost中对时间处理的一个比较基础的类,也是后续几个类的基类——timer. timer类可以测量时间的流逝,依据平台的不同,提供了毫秒甚至微秒级别的时间控制,我们也可以用它来做一个很简单的计时器,下面,我们通过代码来解释timer的用法:

#include <iostream>#include <boost/timer.hpp>int main() {    boost::timer t;    std::cout << "Max timespan : " << t.elapsed_max() / 3600 << "h" << std::endl;    std::cout << "Min timespan : " << t.elapsed_min() << "s" << std::endl;    std::cout << "Time elapsed : " << t.elapsed() << std::endl;    return 0;}

    timer类成员方法通常我们只需要使用以上三个,由函数名我们也大概知道它们的用处了,分别是:获取可度量的最大时间跨度,以小时为单位;可度量的最小时间跨度,以秒为单位;及获取流逝的时间。需要指出的是,流逝的时间中计时的开端是timer类实例构造时,并非是程序开始运行时,这点需要注意!

    timer类对于短期的时间处理还是绰绰有余的,因为它最大的时间跨度是几百个小时,也就是说,我们用它来测试一些算法的运行时间应该是没有问题的。若要处理的时间是以天、月、年为单位则不能继续使用timer类了,具体用什么,我们以后再谈!

0 0
原创粉丝点击