C++ boost 时间与日期处理详细介绍

boost 时间与日期处理

导视:

特点
缺点
说明
timer
计时基类
不适合大跨度时间
适用大部分的普通计时
progress_timer
继承自timer 可以自动写入流中
只精确到0.01s
如果需要更精确,可派生个类,调用stream的precision设置
progress_display 图形化显示进度 只能输出到cout 如果还有其他输出则会干扰进度显示。
折中的办法是重新显示 pd.restart(size); pd+= pNum;
date 日期结构,时间点 ―― date是date_time库的核心类 boost::gregorian
date_duration days、months、years 时间段 ―― 表示一段时间,可以把它看成一个int
date_period 标量,左开右闭,时间区间 ―― 可以认为是一个有起点的date_duration。能做交集、并集
date_iterator 迭代器,以某个单位增减 ―― 天、周、月、年四种迭代器,以某种增量移动。
time_duration 时间段 同date_duration ―― hours、minutes、seconds、millisec、boost::posix_time
ptime 时间点 date+time_duration ―― 分date()和time_of_day()操作。
time_period 时间区间 同date_period ―― ――
time_iterator 迭代器,以某个单位增减 ―― 可直接与ptime比较
date_facet 流格式化日期 ―― %Y年%m月%d日
time_facet 流格式化时间 ―― %Y年%m月%d日 %H点%M分%S%F秒
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
 
#include  
#include  
 
using namespace std; 
 
int main() 
{ 
  boost::timer t; 
  std::cout<<"Max "< v(100); 
  //Do Data Fill......  
  ofstream fs("c:\test.txt"); 
 
  boost::progress_display pd(v.size()); 
  vector::iterator pos; 
  for (pos = v.begin();pos != v.end();++pos) 
  { 
    fs<<*pos<dd2 &&dd1year() == 2016); 
   
    cout<<"-------------- func --------------"< 
 
运行结果:
Max 2.14748e+006 
Min 0.001 
elapsed: 0.001 
elapsed: 0.1 
--------------------------- 
0.30 s 
--------------------------- 
0% 10 20 30 40 50 60 70 80 90 100% 
|----|----|----|----|----|----|----|----|----|----| 
*************************************************** 
--------------------------- 
----------------- date ------------------ 
2013-Apr-17 
2013-Apr-17 
-infinity 
+infinity 
--------------------------- 
107 
16 
--------------------------- 
2013-Apr-17 
20130417 
2013-04-17 
2013-Apr-17 
--------------------------- 
-------------- days(date_duration) -------------- 
-------------- Calc -------------- 
3142 
-------------- date_period -------------- 
[2013-Apr-17/2013-Apr-30] 
-------------- date_iterator -------------- 
-------------- func -------------- 
Yes 
-------------- time_duration -------------- 
01:08:58.999000 
01:10:10.300000 
011010.300000 
-------------- ptime -------------- 
2013-Apr-17 01:00:00 
2013-Apr-17 16:25:00 
2013-Apr-17 17:19:21 
2013-Apr-17 09:19:21.870604 
2013-04-17T01:30:00 
-------------- time_period -------------- 
-------------- time_iterator -------------- 
2013-Apr-17 01:30:00 
2013-Apr-17 01:40:00 
2013-Apr-17 01:50:00 
2013-Apr-17 02:00:00 
2013-Apr-17 02:10:00 
2013-Apr-17 02:20:00 
-------------- formate -------------- 
2013 年04 月17 日 
2013 年04 月17 日 01点30分00秒 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

你可能感兴趣的:(C++ boost 时间与日期处理详细介绍)