【Boost】month_iterator的妙用
来源:互联网 发布:淘宝做的好的鲨鱼复刻 编辑:程序博客网 时间:2024/05/20 08:43
如果使用months,当日期是28号-31号时增减月份,可能会导致问题。
可以使用month_iterator可以解决这个问题。详见下面的例子。
可以使用month_iterator可以解决这个问题。详见下面的例子。
void test_month_iterator(){using namespace boost::gregorian;date d(2010, 11, 29);d += months(1);assert(d == date(2010, 12, 29));d += months(1);assert(d == date(2011, 1, 29));d += months(1);assert(d == date(2011, 2, 28));// 下面的两步操作不是想要的结果d += months(1);assert(d == date(2011, 3, 31));d -= months(4);assert(d == date(2010, 11, 30));// 要解决上面的问题,可以用month_iteratormonth_iterator itr(date(2010, 11, 29));++itr;assert(*itr == date(2010, 12, 29));++itr;assert(*itr == date(2011, 1, 29));++itr;assert(*itr == date(2011, 2, 28));++itr;assert(*itr == date(2011, 3, 29));--itr;--itr;--itr;--itr;assert(*itr == date(2010, 11, 29)); // 这样子结果不会发生变化.}
- 【Boost】month_iterator的妙用
- boost函数对象的妙用
- /()/的妙用
- ${}的妙用
- Rpm软件包管理工具的妙用妙用
- exception的妙用
- Google的妙用
- 删除文件的妙用
- Response.Buffer的妙用
- 尿的妙用
- PING的妙用
- template的妙用
- 替换的妙用
- sp_executesql的妙用
- 智能ABC的妙用
- JESS专家系统的妙用
- 特殊字体的妙用
- getusername的企业妙用
- AsyncQueryHandler(http://www.cnblogs.com/duguguiyu/archive/2008/01/24/1050813.html)
- POJ 1208 TheBlocks Problem (模拟+队列)
- 协方差的意义和计算公式
- SQL 2005,分析器: ImpersonationInfo 对象的语法不正确(转一个)
- 一致性 hash 算法(consistent hashing)
- 【Boost】month_iterator的妙用
- 遍历目录
- 进程创建之dofork->copy_process()
- dwr中获取session的办法
- 字符串有关的一些常用函数
- 不一致的变量名和函数名
- 如何用Visual C#生成DLL文件
- 学习札记--Struts1 文件上传2
- 高级语法 break if 的使用