也可以从当前时间生成日期类实例
比如:date d(day_clock::local_day())
也可得到UTC时间:
date d(day_clock::universal_day())
比如,下面计算到从从2013年6月1日到今天为止的天数:
#include <iostream>
#include "boost/date_time/gregorian/gregorian.hpp"
using namespace std;
using namespace boost::gregorian;
int main(){
date d1(2013,06,01);
date d2(2013,12,31);
date d3(day_clock::local_day());
date_duration dd = d3-d1+date_duration(1);
cout<<"从2013年6月1日到今天过了"<<dd<<"天"<<endl;
return 0;
}
dp@dp:~/boostlearn % CC -o mytest 3.cpp -I /home/dp/boost_1_55_0
dp@dp:~/boostlearn % ./mytest
从2013年6月1日到今天过了221天
dp@dp:~/boostlearn %
下面返回年、月、日等信息
1
date d(2002,Jan,10);
d.year(); // --> 2002
d.month(); // --> 1
d.day(); // --> 10
date::ymd_type ymd = d.year_month_day();
// ymd.year --> 2002,
// ymd.month --> 1,
// ymd.day --> 10
date d(2002,Jan,10);
返回这一天是那一年第几个星期:
d.day_of_week(); // --> Thursday
返回这一天是那一年第几天:
d.day_of_year();//--> 10
日期的月份最后一天
d.end_of_month(); // --> 2000-Jan-31
比如下面程序
#include <iostream>
#include "boost/date_time/gregorian/gregorian.hpp"
using namespace std;
using namespace boost::gregorian;
int main(){
date d1(2013,06,01);
date d2(2013,12,31);
date d(2014,02,21);
date d3(day_clock::local_day());
date_duration dd = d3-d1+date_duration(1);
cout<<"从2013年6月1日到今天过了"<<dd<<"天"<<endl;
cout<<d.year()<<" "<<d.month()<<" "<<d.day()<<endl;
cout<<d.day_of_week()<<" "<<d.day_of_year()<<" "<<d.end_of_month()<<endl;
return 0;
dp@dp:~/boostlearn % CC -o mytest 3.cpp -I /home/dp/boost_1_55_0
dp@dp:~/boostlearn % ./mytest
从2013年6月1日到今天过了221天
2014 Feb 21
Fri 52 2014-Feb-28
也可以通过日期转字符串
std::string to_simple_string(date d)
std::string to_iso_string(date d)
std::string to_iso_extended_string(date d)