#define DATE_TIME_INLINE
#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>
using namespace std;
int main()
{
using namespace boost::gregorian;
// 2003年10月26日の100日後の日付は何だろう?
date d( 2003, 10, 26 );
date d2 = d + date_duration(100);
cout << d2 << endl;
// 今日からその日まであと何日?
date d3( day_clock::local_day() );
date_duration dd = d2 - d3;
cout << dd.days() << endl;
return 0;
}
2004-Feb-03 492
グレゴリオ歴(1年が12ヶ月で、閏年があったりして…という、 我々が今普通に使っている暦のこと)での日付の計算を行います。 時間の計算を行うposix_timeライブラリと二つ合わせて boost::date_time ライブラリを構成しています。
文字列←→日付の変換や、曜日の計算、前後比較に足し算引き算などが出来ます。