C++一直缺乏对时间和日期的处理能力,一般借助于C的struct tm和time();timer包含三个类其中timer,progress_timer是计时器类,进度指示类是progress_display.

1.timer类,内部封装的是std::clock,精度依赖于具体的编译器和操作系统。只能计算从声明对象到对象结束的时间。

#include <iostream>
#include <boost/timer.hpp>
using namespace std;
using namespace boost; int main()
{
timer t;
cout << "max timespan:" << t.elapsed_max()/3600<<"h"<<endl;//支持的最大时间
cout << "min timespan:" << t.elapsed_min() << "s" <<endl;//支持的最小时间
cout << "now time elapsed" << t.elapsed() << "s" << endl;//已经流逝的时间
return 0; }

2.progress_timer继承与timer但是不需要显示调用elapsed当对象退出作用域时会自动调用。

#include <iostream>
#include <boost/progress.hpp>
#include <boost/thread.hpp>
using namespace std;
using namespace boost; int main()
{
progress_timer t; this_thread::sleep(posix_time::seconds(2)); return 0; }

3.progress_display类用于在标准输出显示进度

#include <iostream>
#include <fstream>
#include <vector>
#include <boost/progress.hpp>
using namespace std;
using namespace boost; int main()
{
vector<string> vec(100000);
fstream fs("c:\\test.txt");
progress_display pd(vec.size());
for (vector<string>::iterator pos = vec.begin();pos != vec.end();++pos)
{
fs << *pos <<endl;
++pd;
} return 0; }

boost之时间timer的更多相关文章

  1. boost.asio系列——Timer

    同步Timer asio中提供的timer名为deadline_timer,它提供了超时计时的功能.首先以一个最简单的同步Timer为例来演示如何使用它. #include<iostream&g ...

  2. 【Boost】boost库中timer定时器 1

    博客转载自:http://blog.csdn.net/liujiayu2/article/details/50384537 同步Timer asio中提供的timer名为deadline_timer, ...

  3. Boost中的Timer的使用——计算时间流逝

    使用Boost中的Timer库计算程序的运行时间 程序开发人员都会面临一个共同的问题,即写出高质量的代码完毕特定的功能.评价代码质量的一个重要标准就是算法的运行效率,也就是算法的运行时间.为了可靠的提 ...

  4. 【Boost】boost库中timer定时器 2

    博客转载自:http://blog.csdn.net/yockie/article/details/40386145 先跟着boost文档中asio章节的指南中的几个例子学习一下使用: 所有的Asio ...

  5. Python基础学习笔记(十)日期Calendar和时间Timer

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...

  6. 利用boost获取时间并格式化

    利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题. 1. 输出YYYYMMDD #include <boost/date_time/gregorian/gregorian.hpp& ...

  7. [Boost]boost的时间和日期处理-(1)日期的操作

    <开篇> Boost.DateTime库提供了时间日期相关的计算.格式化.转换.输入输出等等功能,为C++的编程提供了便利.不过它有如下特点: 1. Boost.DateTime 只支持1 ...

  8. [Boost]boost的时间和日期处理-(2)时间的操作

    <开篇> 本篇紧接着boost上篇叙述Boost::DateTime的时间处理.在C++中,常见的时间有time_t, FILETIME和tm,而boost中用ptime. 构造ptime ...

  9. boost 日期时间计算

    示例代码如下: #include <boost/date_time/gregorian/gregorian.hpp> #include <boost/date_time/posix_ ...

随机推荐

  1. Atitit.木马病毒 webftp 的原理跟个设计

    Atitit.木马病毒 webftp 的原理跟个设计 ftp木马的效果 文件传播 文件列表 文件内容查看 作者::  ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Att ...

  2. Atitit.输入法配置说明v1 q229

    Atitit.输入法配置说明v1 q229 //------------------------------------------------------ //   IME设置 //-------- ...

  3. hdu1584 A strange lift (电梯最短路径问题)

    A strange lift Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  4. Python内存管理:垃圾回收

    http://blog.csdn.net/pipisorry/article/details/39647931 Python GC主要使用引用计数(reference counting)来跟踪和回收垃 ...

  5. C# Activator.CreateInstance 动态创建类的实例(二)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. Windows下免费软件的首选推荐

    PS:以下按装机顺序排列,“|”号后面是备选软件. 启动引导:EasyBCD 虚拟机:VirtualBox Linux:Zorin | Linux Mint(Mate) | Ubuntu 驱动工具:驱 ...

  7. HDU 5355 Cake(2015多校第六场,搜索 + 剪枝)

    Cake Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  8. va_list可变参数

    可变参数函数实现 va_list,va_start,va_arg,va_end va可变参数意思,variable-argument. 1. 头文件及实现 linux中定义在gcc头文件中,stdar ...

  9. phpexcel图形图表(二)图形

    原创文章,转载请注明出处:http://www.cnblogs.com/phpgcs 本篇文章实例演示如上图,画3种图形以及多sheet操作等 先回忆下第一篇中line图形的API调用步骤: 1,引入 ...

  10. archive的时候报“ no identity found&quot;错误 解决方式

    第一步: 在xcode----target----general----identity----team里 增加你们公司的账号就能够了 第二步: Xcode > Preferences > ...