boost准模板库time_duration类的使用

# define BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
#define BOOST_ALL_NO_LIB
#include<boost/date_time/posix_time/posix_time.hpp>
#include<iostream>
using namespace std;
using namespace boost::posix_time;


int main()
{
	time_duration td(1,10,20,1000);//定义一个时间对象,1小时,10分钟,20秒,1毫秒(1000微秒)
    //如果时间超出自己表达的范围如61分,则自动进位
	hours h(1);//time_duration子类,1小时
	minutes m(10);//10分钟
	seconds s(30);//30秒
	millisec ms(1);//1毫秒
	time_duration td1=h+m+s+ms;//用子类的+操作创建
	time_duration dt2=hours(2)+seconds(10);//直接使用赋值
	//使用工厂函数创建
	time_duration td3=duration_from_string("1:10:30:001");
	cout<<td3<<endl;//默认输出
	cout<<td3.hours()<<"  "<<td3.minutes()<<"   "<<td3.seconds()<<endl;
	//分别获得时分秒
	cout<<td3.total_seconds()<<endl;//获得总秒数
	cout<<td3.total_milliseconds()<<endl;//获得总毫秒数
	cout<<td3.total_microseconds()<<endl;//获得总微秒数
	cout<<td3.fractional_seconds()<<endl;//获得long型微秒数
	cout<<td3.is_negative()<<endl;//判断时间的正负号
	time_duration td4=td3.invert_sign();
	cout<<td4<<endl;//时间取反
	cout<<td3.is_special()<<endl;
	cout<<(td3<td4)<<endl;//时间比较函数
	cout<<(td3+td4)<<endl;//时间算术运算+ -
	cout<<(td3*2)<<endl;//时间乘法运算* /
	cout<<to_simple_string(td3)<<endl;//HH:MM:SS.ffffffffff
	cout<<to_iso_string(td3)<<endl;//HHMMSS,ffffffffff
	 tm t=to_tm(td3);
	 cout<<t.tm_hour<<endl;


	 getchar();

}


应用代码如上,测试结果如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值