Overall Index -- Gregorian Index -- Posix Time Index
Header -- Construction -- Accessors -- Conversion To String -- Operators --
#include "boost/date_time/gregorian/gregorian.hpp" //include all types plus i/o or #include "boost/date_time/gregorian/gregorian_types.hpp" //no i/o just types
Syntax | Description | Example |
---|---|---|
date_period(date begin, date last) |
[begin, last) で表される期間(period)を生成する。 last <= begin のときは null となる。 |
date_period dp(date(2002,Jan,10), date_duration(2)); |
date_period(date start, date end) |
[begin, begin+len)で表される期間(period)を生成する。 len <= 0 のときは null となる。 |
date_period dp(date(2002,Jan,10), date_duration(2)); |
date_period(date_period rhs) | コピーコンストラクタ | date_period dp1(dp) |
Syntax | Description | Example |
---|---|---|
date begin() const | 期間(period)の初日を返す |
date_period dp(date(2002,Jan,1), date(2002,Jan,10)); dp.begin() --> 2002-Jan-01 |
date last() const | 期間(period)の最終日を返す |
date_period dp(date(2002,Jan,1), date(2002,Jan,10)); dp.last() --> 2002-Jan-09 |
date end() const | 期間(period)の最終日の翌日を返す |
date_period dp(date(2002,Jan,1), date(2002,Jan,10)); dp.end() --> 2002-Jan-10 |
bool is_null() const |
期間(period)が正しい形式でないときtrue 例: start less than end ?逆では? |
date_period dp(date(2002,Jan,10), date(2002,Jan,1)); dp.is_null() --> true 原文はたぶんコピペミス |
bool contains(date) const | 日付が期間(period)の範囲内にあるとき true |
date_period dp(date(2002,Jan,1), date(2002,Jan,10)); dp.contains(date(2002,Jan,2)) --> true |
bool contains(date_period) const | date_period が期間(period)の範囲内にあるときtrue |
date_period dp1(date(2002,Jan,1), date(2002,Jan,10)); date_period dp2(date(2002,Jan,2), date(2002,Jan,3)); dp1.contains(dp2) --> true dp2.contains(dp1) --> false |
bool intersects(date_period) const | 期間(period)が重複するときtrue |
date_period dp1(date(2002,Jan,1), date(2002,Jan,10)); date_period dp2(date(2002,Jan,2), date(2002,Jan,3)); dp2.intersects(dp1) --> true |
date_period intersection(date_period) const | 2つの期間(period)から重複する期間(period)を計算する。 期間(period)が重複しないときは null が返る |
date_period dp1(date(2002,Jan,1), date(2002,Jan,10)); date_period dp2(date(2002,Jan,2), date(2002,Jan,3)); dp2.intersects(dp1) --> dp2 |
date_period merge(date_period) const | 2つの期間(period)を結合して返す。期間(period)が重複しないときは null が返る |
date_period dp1(date(2002,Jan,1), date(2002,Jan,10)); date_period dp2(date(2002,Jan,9), date(2002,Jan,31)); dp2.intersects(dp1) --> 2002-Jan-01/2002-Jan-31 |
date_period shift(date_duration) | 初日と最終日に日数(date_duration)を加算する。 |
date_period dp1(date(2002,Jan,1), date(2002,Jan,10)); dp1.shift(date_duration(1)); --> 2002-Jan-02/2002-Jan-11 |
Syntax | Description | Example |
---|---|---|
std::string to_simple_string(date_period dp) | [YYYY-mmm-DD/YYYY-mmm-DD] (mmm は月名の3文字短縮形)形式の文字列に変換 | [2002-Jan-01/2002-Jan-31] |
Syntax | Description | Example |
---|---|---|
operator==, operator!=, operator>, operator< |
サポートする比較演算子 | dp1 == dp2, etc |
operator< | dp1.end()がdp2.begin()よりも小さいとき true | dp1 < dp2, etc |
operator> | dp1.begin()がdp2.end()よりも大きいとき true | dp1 > dp2, etc |