zoukankan      html  css  js  c++  java
  • Boost库学习(2) 时间与日期

    一、背景

      C++缺乏对时间和日期的处理能力,不得不求助于C,使用笨拙的结构和函数(struct tm,time())。现在,Boost使用timerdate_time解决了这个问题。

    二、timer简介

      1、timer是一个很小的库,提供简易的度量时间和进度显示功能,可以用于性能测试等需要计时的任务。它包含三个组件:分别是 计时类 timer、progress_timer和进度指示类progress_display

      2、组件介绍

      作用 需包含的头文件 其他说明
    timer 测量时间的流逝,提供毫秒级别的计时精度和操作函数

    #include<boost/timer.hpp>

    using namespace boost;

    常用成员函数:

    elapsed_min():timer测量时间的最小精度;

    elapsed_max():timer测量时间的最大范围;

    progress_timer 也是一个计时器,继承自timer,会在析构时自动输出时间

    #include<boost/progress.hpp>

    using namespace boost;

    其构造函数说明:

    progress_timer(std::ostream& os),允许将析构输出定向到指定的IO流里;

    progress_display 在控制台上显示程序执行的进度

    #include<boost/progress.hpp>

    using namespace boost;

    缺陷:

    无法把进度显示输出和程序输出分离;

    三、date_time库简介(有待进一步整理)

      处理日期和时间(取当地日期时间,日期时间的运算,与tm机构的转换,日期时间的格式化等),

    四、总结

      1、基于跨平台可移植的指导思想,timer实现源码中使用了C标准中的std::clock();

      2、timer和progress_timer是计时小工具,精度不够但是好用够用,特别是progress_timer,利用了C++析构函数会被自动调用的特点能够自动显示时间;

      3、progress_display可显示程序执行的进度,但是容易被程序其他的输出打乱;

      4、progress_timer和progress_display均私有继承了noncopyable类,防止被无意的拷贝而破坏了正确的行为;

      5、date_time填补了C++98中“时间和日期”的空白;

      

  • 相关阅读:
    2012619 win7环境Jooma建站手记解决问题
    linux学习(4)ubuntu开机自动挂载nfs服务器上的home分区
    linux学习(3)nginx tomcat集群
    oracle to_date 函数
    inux学习(2)vim设置
    linux学习(1)常用命令入门
    tomcat域名绑定
    tomcat内存溢出问题解决思路
    TreeView控件无限级 一次性加载和异步加载剖析
    数据查询支持中文拼音首字母模糊检索
  • 原文地址:https://www.cnblogs.com/BlueGeek/p/2948266.html
Copyright © 2011-2022 走看看