Overall Index -- Gregorian Index -- Posix Time Index
Header -- Construction -- Accessors -- Conversion To String -- Operators --
#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o or #include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types
Syntax | Description | Example |
---|---|---|
time_period(ptime begin, ptime last) |
[begin, last) で表される期間(period)を生成する。 last <= begin のときは null となる。 |
date d(2002,Jan,01); ptime t(d, seconds(10)); //10 sec after midnight time_period tp(t, hours(3)); |
time_period(ptime start, ptime end) |
[begin, begin+len) で表される期間(period)を生成する。 len <= 0 のときは null となる。 |
date d(2002,Jan,01); ptime t1(d, seconds(10)); //10 sec after midnight ptime t2(d, hours(10)); //10 hours after midnight time_period tp(t1, t2); |
time_period(time_period rhs) | コピーコンストラクタ | time_period tp1(tp) |
Syntax | Description | Example |
---|---|---|
ptime begin() const | 期間(period)の最初を返す |
date d(2002,Jan,01); ptime t1(d, seconds(10)); //10 sec after midnight ptime t2(d, hours(10)); //10 hours after midnight time_period tp(t1, t2); tp.begin() --> 2002-Jan-01 00:00:10 |
ptime last() const | 期間(period)の最後を返す |
date d(2002,Jan,01); ptime t1(d, seconds(10)); //10 sec after midnight ptime t2(d, hours(10)); //10 hours after midnight time_period tp(t1, t2); tp.last() --> 2002-Jan-01 09:59:59.999999999 |
ptime end() const | 期間(period)の最後の次を返す |
date d(2002,Jan,01); ptime t1(d, seconds(10)); //10 sec after midnight ptime t2(d, hours(10)); //10 hours after midnight time_period tp(t1, t2); tp.last() --> 2002-Jan-01 10:00:00 |
bool is_null() const |
期間(period) が正しい形式でないときtrue 例: start less than end ?逆では? |
|
bool contains(ptime) const | ptime が期間(period)の範囲内にあるとき true |
date d(2002,Jan,01); ptime t1(d, seconds(10)); //10 sec after midnight ptime t2(d, hours(10)); //10 hours after midnight ptime t3(d, hours(2)); //2 hours after midnight time_period tp(t1, t2); tp.contains(t3) --> true |
bool contains(time_period) const | time_period が期間(period)の範囲内にあるとき true |
time_period tp1(ptime(d,hours(1)), ptime(d,hours(12))); time_period tp2(ptime(d,hours(2)), ptime(d,hours(4))); tp1.contains(tp2) --> true tp2.contains(tp1) --> false |
bool intersects(time_period) const | 期間(period)が重複するとき true |
time_period tp1(ptime(d,hours(1)), ptime(d,hours(12))); time_period tp2(ptime(d,hours(2)), ptime(d,hours(4))); tp2.intersects(tp1) --> true |
time_period intersection(time_period) const | 二つの期間(period)が重複する範囲を計算する。期間(period)が重複しないときは null が返る | |
time_period merge(time_period) const | 二つの期間(period)を結合して返す。期間(period)が重複しないときは null が返る | |
time_period shift(time_duration) | 時間長(time_duration)を start と end に加算する ソースを見ると,原文の date_duration は time_duration の間違いだと思う。 |
Syntax | Description | Example |
---|---|---|
std::string to_simple_string(time_period dp) | [YYYY-mmm-DD hh:mm:ss.fffffffff/YYYY-mmm-DD hh:mm:ss.fffffffff] 形式の文字列に変換する(mmm は月名の3文字短縮形) | [2002-Jan-01 01:25:10.000000001/2002-Jan-31 01:25:10.123456789] |
Syntax | Description | Example |
---|---|---|
operator==, operator!=, operator>, operator< |
サポートする比較演算子 | tp1 == tp2, etc |
operator< | tp1.end() が tp2.begin() よりも小さいとき true | tp1 < tp2, etc |
operator> | tp1.begin() が tp2.end() よりも大きいとき true | tp1 > tp2, etc |