学习boost之0 开发一个日历
来源:互联网 发布:淘宝一个月能刷多少单 编辑:程序博客网 时间:2024/05/22 16:48
早有听闻boost很强大,最近开始学点皮毛。先从简单的开始学,就date_time库吧。
大致看了下date_time库的实现,不难,日期的核心算法是蔡勒公式,时间是调用底层的localtime。boost的强大之处就是普通人用几个函数就能搞定的东西,他给你封装几十个类。比如日期除了整数难道有其他类型吗?吐槽归吐槽,用起来还是很方便的。
用他提供的类写了一个控制台日历。
#include <boost/date_time.hpp>#include <iostream>void calendar(){ // 包含相关名字空间 using namespace boost::posix_time; using namespace boost::gregorian; using std::cout; using std::endl; ptime pt( second_clock::local_time() ); // 获取当前时间 cout << "日\t一\t二\t三\t四\t五\t六" << endl; date dt = pt.date(); // 获取当前日期 dt -= days( dt.day() - 1 ); // 切换到本月一号 int i = dt.day_of_week(); // 获取一号是星期几 // 以下是格式化输出 for ( int k = 0; k < i; k++ ) cout << "\t"; int nday = gregorian_calendar:: end_of_month_day( dt.year(), dt.month() ); // 获取当前月的天数 for ( int j = 1; j <= nday; j++,i++ ) { if ( i != 0 && i % 7 == 0 ) cout << endl; cout << j << "\t"; } cout << endl;}
输出如下
开发效率上讲还是蛮高的,十分钟搞定哈。
0 0
- 学习boost之0 开发一个日历
- jsp学习之--一个很好的日历代码
- Boost学习之Boost简介
- 【boost学习】之boost::bind
- boost学习之Boost.Lambda
- Android开发之日历控件
- 学习boost之lexical_cast
- 学习boost之format
- 学习boost之filesystem
- boost学习之function
- boost之spirit学习
- boost学习之-scoped_ptr
- boost学习之-scoped_array
- boost学习之-shared_ptr
- boost学习之-shared_array
- boost学习之-intrusive_ptr
- boost学习之-weak_ptr
- boost学习之-polymorphic_cast
- log4j日志系统使用记录
- Qt移动应用开发(二):使用动画框架
- 利用DHT网络原理制作bt采集蜘蛛,开源版
- github之配置Tortoisegit
- 替代空格
- 学习boost之0 开发一个日历
- 七种qsort排序方法
- 现在公开一个DHT网络爬虫
- poj 4004:数字组合
- virtualbox+ubuntu设置共享文件夹
- 语法树
- [Arduino+Android] 自制土砲智能安全帽 / 智慧安全帽
- 瀑布流 图册
- java多线程例子