Boost学习笔记(2)——Date

1.头文件

#inlcude <boost/date_time/gregorian/gregorian.hpp>

using namespace boost::gregorian;

2.日期初始化方式

date d1;

date d2(2012,09,13);

date d3(2000,Jan,2);

date d4(d2);


date d5=from_string("2012-12-12");

date d6=from_string("2012/12/12");

date d3=from_undelimited_string("20121212");


特殊初始化

date d1(neg_infin);//负无限日期

date d2(pos_infin);//正无限日期

date d3(not_a_date_time);//无效日期

date d4(max_date_time);//最大日期

date d5(min_date_time);//最小日期


日期访问

date d(2010,3,2);

d.year();

d.month();

d.day();


date::ymd_type ymd=d.year_month_day();

ymd.year;

ymd.month;

ymd.day;


d.day_of_week()

d.day_of_year();

d.end_of_month();//返回当月的最后一天

d.week_number();//日期为当年的第几周


日期检测

is_infinity();

is_neg_infinity();

is_pos_infinity();

is_not_a_date();

is_special();


时间输出

to_simple_string(date d)//输出 YYYY-mmm-DD,其中mmm为三个字符的英文月份名

to_iso_string(date d)//转换成YYYYMMDD

to_iso_extended_string(date d)//转换为 YYYY-MM-DD


tm转换

to_tm(date) date转换到tm,tm时分秒(tm_hjour,tm_min,tm_sec)均为0,夏令时tm_isdst为-1;

date_from_tm(tm date),tm转化为年月日,其他被忽略


日期区间(date_period)

period(date,date);

period(date,days);

date begin() const;

date end() const;

date last() const;

days length() const;

bool is_null() const;

void shift(const days&);

void expand(const days&);


bool contains(const date&)const;

bool contains(const period&)const;


date日期迭代器

day_iterator

week_iterator

month_iterator

year_iterator

使用方式

date d(2006,10,23);

day_iterator d_iter(d);

++d_iter;

year_iterator y_iter(*d_iter,3);




date是需要编译的库,所以程序在编译时需要带上静态库

g++ -o datetest datetest.cpp -L $BOOST_LIB -l boost_date_time-gcc44-mt-1_51



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值