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 &&dd1 year() == 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秒感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!



