C指针原理(43)-C++-boost(日期时间)

也可以从当前时间生成日期类实例

比如: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<<"201361日到今天过了"<<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 % 

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


下面返回年、月、日等信息

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)

你可能感兴趣的:(C++,boost)