boost准模板库date_period()(时间段使用)

//时间间隔问题
#define BOOST_DATE_TIME_SOURCE
/*#define BOOST_DATE_TIME_SOIURCE #define BOOST_DATE_TIME_NO_LIB或者#BOOST_ALL_NO_LIB
这些宏定义指明项目对于boost库是源代码级别的引入,将boost库源代码直接嵌入到工程中,不加的话默认找编译后的boost库文件
*/
#include<iostream>
#include<libs/date_time/src/gregorian/greg_names.hpp>
#include<libs/date_time/src/gregorian/date_generators.cpp>
#include<libs/date_time/src/gregorian/greg_month.cpp>
#include<libs/date_time/src/gregorian/greg_weekday.cpp>
#include<boost/date_time/gregorian/gregorian.hpp>
using namespace std;
using namespace boost::gregorian;
int main()
{
	//date_period构造函数
	date_period dp1(date(1993,5,1),days(100) );//日期后多少天
	//date_period dp2(date(1993,5,1),years(23));不能用months和years
	date_period dp3(date(2010,8,25),date(day_clock::local_day()));//两个日期间的间隔
	//如果days()的参数为负 或者 第一个date()在第二个date()后,则对象无效
	cout<<dp1.is_null()<<endl;//是否是无效时间段
	cout<<dp1.begin()<<endl;//时间段开始日期
	cout<<dp1.last()<<endl;//时间段最后一个日期
	cout<<dp1.end()<<endl;//时间段后的第一个日期
	cout<<dp1.length().days()<<endl;//时间段的长度
	//默认输出
	cout<<dp1<<endl;
	//date_period比较,比较两个时间段在时间轴上的位置关系,如果两个时间段有交叉或者包含,比较无意义
	cout<<(dp1>dp3)<<endl;//时间段靠后的大
	getchar();
}


上面是对date_period的基本使用,下图是运行结果:






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值