AM Daemon ライブラリリファレンス
|
マイクロ秒精度の日付時刻を表す構造体 DateTime のヘッダ。 [詳解]
#include <DateTime.h>
公開型 | |
typedef std::uint64_t | value_type |
内部値の表現型。 [詳解] | |
typedef std::int32_t | part_type |
個別要素値の表現型。 [詳解] | |
公開メンバ関数 | |
part_type | year () const |
日時表現における年を取得する。 [詳解] | |
part_type | month () const |
日時表現における月を取得する。 [詳解] | |
part_type | day () const |
日時表現における日を取得する。 [詳解] | |
part_type | hour () const |
日時表現における時を取得する。 [詳解] | |
part_type | minute () const |
日時表現における分を取得する。 [詳解] | |
part_type | second () const |
日時表現における秒を取得する。 [詳解] | |
part_type | millisecond () const |
日時表現におけるミリ秒を取得する。 [詳解] | |
part_type | microsecond () const |
日時表現におけるマイクロ秒を取得する。 [詳解] | |
part_type | week () const |
日時表現における曜日を表す数値を取得する。 [詳解] | |
value_type | getTotalDays () const |
1年1月1日からの通算日数を取得する。 [詳解] | |
DateTime | getDate () const |
時刻部分を0時0分0秒にした日付時刻値を取得する。 [詳解] | |
void | getParts (part_type *year, part_type *month=nullptr, part_type *day=nullptr, part_type *hour=nullptr, part_type *minute=nullptr, part_type *second=nullptr, part_type *millisecond=nullptr, part_type *microsecond=nullptr) const |
日時表現における各要素値をまとめて取得する。 [詳解] | |
std::wstring | toString (const wchar_t *format=nullptr) const |
文字列表現値を作成する。 [詳解] | |
DateTime & | operator+= (const TimeSpan &r) |
加算代入演算子のオーバロード。 [詳解] | |
DateTime & | operator-= (const TimeSpan &r) |
減算代入演算子のオーバロード。 [詳解] | |
静的公開メンバ関数 | |
static const DateTime & | min () |
表現可能な最小値を持つ日付時刻値を取得する。 [詳解] | |
static const DateTime & | max () |
表現可能な最大値を持つ日付時刻値を取得する。 [詳解] | |
static const DateTime & | epoch () |
エポックを表すUTC(世界協定時刻)の日付時刻値を取得する。 [詳解] | |
static DateTime | now (bool utc=false) |
現在日時を表す日付時刻値を取得する。 [詳解] | |
static DateTime | today (bool utc=false) |
現在日の0時0分0秒を表す日付時刻値を取得する。 [詳解] | |
static bool | canMake (part_type year, part_type month, part_type day, part_type hour, part_type minute, part_type second=0, part_type millisecond=0, part_type microsecond=0) |
日付時刻値を問題なく作成可能な値であるか否かを調べる。 [詳解] | |
static DateTime | make (part_type year, part_type month, part_type day, part_type hour, part_type minute, part_type second=0, part_type millisecond=0, part_type microsecond=0) |
日付と時刻を表す値から日付時刻値を作成する。 [詳解] | |
static bool | canMake (part_type year, part_type month, part_type day) |
日付時刻値を問題なく作成可能な値であるか否かを調べる。 [詳解] | |
static DateTime | make (part_type year, part_type month, part_type day) |
日付を表す値から日付時刻値を作成する。 [詳解] | |
static bool | canMake (const std::chrono::system_clock::time_point &timePoint, bool utc=false) |
日付時刻値を問題なく作成可能なタイムポイント値であるか否かを調べる。 [詳解] | |
static DateTime | make (const std::chrono::system_clock::time_point &timePoint, bool utc=false) |
タイムポイント値から日付時刻値を作成する。 [詳解] | |
static bool | canMake (std::time_t timeStamp, bool utc=false) |
日付時刻値を問題なく作成可能なUNIXタイムスタンプ値であるか否かを調べる。 [詳解] | |
static DateTime | make (std::time_t timeStamp, bool utc=false) |
UNIXタイムスタンプ値から日付時刻値を作成する。 [詳解] | |
static bool | canMake (const std::tm &tm) |
日付時刻値を問題なく作成可能な std::tm 構造体値であるか否かを調べる。 [詳解] | |
static DateTime | make (const std::tm &tm) |
std::tm 構造体値から日付時刻値を作成する。 [詳解] | |
static DateTime | add (const DateTime &dt, const TimeSpan &span) |
DateTime 値に TimeSpan 値を加算する。 [詳解] | |
static DateTime | subtract (const DateTime &dt, const TimeSpan &span) |
DateTime 値から TimeSpan 値を減算する。 [詳解] | |
static TimeSpan | subtract (const DateTime &dt1, const DateTime &dt2) |
DateTime 値から別の DateTime 値を減算して時間間隔を算出する。 [詳解] | |
static bool | isLeapYear (part_type year) |
指定した年が閏年であるか否かを取得する。 [詳解] | |
static part_type | getDaysOf (part_type year, part_type month) |
指定した年月の日数を取得する。 [詳解] | |
static TimeSpan | calcUnixTimestampOf (const DateTime &utcTime=now(true)) |
指定したUTC日付時刻値のUNIXタイムスタンプを表す時間間隔値を算出する。 [詳解] | |
公開変数類 | |
value_type | value |
西暦1年1月1日0時0分0秒からの経過マイクロ秒数値。 [詳解] | |
関連関数 | |
(これらはメソッドではありません) | |
DateTime | operator+ (const DateTime &l, const TimeSpan &r) |
加算演算子のオーバロード。 [詳解] | |
DateTime | operator- (const DateTime &l, const TimeSpan &r) |
減算演算子のオーバロード。 [詳解] | |
TimeSpan | operator- (const DateTime &l, const DateTime &r) |
減算演算子のオーバロード。 [詳解] | |
bool | operator== (const DateTime &l, const DateTime &r) |
等価比較演算子のオーバロード。 [詳解] | |
bool | operator!= (const DateTime &l, const DateTime &r) |
非等価比較演算子のオーバロード。 [詳解] | |
bool | operator< (const DateTime &l, const DateTime &r) |
小なり比較演算子のオーバロード。 [詳解] | |
bool | operator> (const DateTime &l, const DateTime &r) |
大なり比較演算子のオーバロード。 [詳解] | |
bool | operator<= (const DateTime &l, const DateTime &r) |
小なり等価比較演算子のオーバロード。 [詳解] | |
bool | operator>= (const DateTime &l, const DateTime &r) |
大なり等価比較演算子のオーバロード。 [詳解] | |
マイクロ秒精度の日付時刻を表す構造体 DateTime のヘッダ。
内部値として西暦1年1月1日0時0分0秒からの経過マイクロ秒数値を持つ。 この値の基準時刻(ローカル、UTC等)については関知しないため、利用側で定めること。
UNIXタイムスタンプ値を用いてインスタンスを生成する各静的メンバ関数には、 基準時刻をUTCとするかローカルとするか選択するための引数が用意されている。 いずれも引数指定を省略した場合はローカルを基準とする。
typedef std::uint64_t amdaemon::util::DateTime::value_type |
内部値の表現型。
typedef std::int32_t amdaemon::util::DateTime::part_type |
個別要素値の表現型。
|
static |
表現可能な最小値を持つ日付時刻値を取得する。
|
static |
表現可能な最大値を持つ日付時刻値を取得する。
|
static |
エポックを表すUTC(世界協定時刻)の日付時刻値を取得する。
|
static |
現在日時を表す日付時刻値を取得する。
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
|
inlinestatic |
現在日の0時0分0秒を表す日付時刻値を取得する。
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
|
static |
日付時刻値を問題なく作成可能な値であるか否かを調べる。
[in] | year | 年。 1 以上 max().year() 以下。 |
[in] | month | 月。 1 以上 12 以下。 |
[in] | day | 日。 1 以上かつ月の日数以下。 |
[in] | hour | 時。 0 以上 23 以下。 |
[in] | minute | 分。 0 以上 59 以下。 |
[in] | second | 秒。 0 以上 59 以下。 |
[in] | millisecond | ミリ秒。 0 以上 999 以下。 |
[in] | microsecond | マイクロ秒。 0 以上 999 以下。 |
true | 作成可能である場合。 |
false | 作成不可能である場合。 |
この関数が true を返す場合、同じ引数を静的メンバ関数 make(part_type, part_type, part_type, part_type, part_type, part_type, part_type, part_type) に渡すことで、例外を発生させることなく日付時刻値を作成可能であることが保証される。
|
static |
日付と時刻を表す値から日付時刻値を作成する。
[in] | year | 年。 1 以上 max().year() 以下。 |
[in] | month | 月。 1 以上 12 以下。 |
[in] | day | 日。 1 以上かつ月の日数以下。 |
[in] | hour | 時。 0 以上 23 以下。 |
[in] | minute | 分。 0 以上 59 以下。 |
[in] | second | 秒。 0 以上 59 以下。 |
[in] | millisecond | ミリ秒。 0 以上 999 以下。 |
[in] | microsecond | マイクロ秒。 0 以上 999 以下。 |
Exception |
|
|
inlinestatic |
日付時刻値を問題なく作成可能な値であるか否かを調べる。
true | 作成可能である場合。 |
false | 作成不可能である場合。 |
この関数が true を返す場合、同じ引数を静的メンバ関数 make(part_type, part_type, part_type) に渡すことで、例外を発生させることなく日付時刻値を作成可能であることが保証される。
|
inlinestatic |
|
static |
日付時刻値を問題なく作成可能なタイムポイント値であるか否かを調べる。
[in] | timePoint | システムクロックのタイムポイント値。 |
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
true | 作成可能である場合。 |
false | 作成不可能である場合。 |
この関数が true を返す場合、同じ引数を静的メンバ関数 make(const std::chrono::system_clock::time_point&, bool) に渡すことで、例外を発生させることなく日付時刻値を作成可能であることが保証される。
|
static |
タイムポイント値から日付時刻値を作成する。
[in] | timePoint | システムクロックのタイムポイント値。 |
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
Exception | 内部値に変換した値が表現可能範囲に収まらない場合。 |
|
static |
日付時刻値を問題なく作成可能なUNIXタイムスタンプ値であるか否かを調べる。
[in] | timeStamp | UNIXタイムスタンプ値。 |
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
true | 作成可能である場合。 |
false | 作成不可能である場合。 |
この関数が true を返す場合、同じ引数を静的メンバ関数 make(std::time_t, bool) に渡すことで、例外を発生させることなく日付時刻値を作成可能であることが保証される。
|
static |
UNIXタイムスタンプ値から日付時刻値を作成する。
[in] | timeStamp | UNIXタイムスタンプ値。 |
[in] | utc | UTC(世界協定時刻)の日付時刻値を作成するならば true 。 ローカルの日付時刻値を作成するならば false (既定値)。 |
Exception | 内部値に変換した値が表現可能範囲に収まらない場合。 |
|
static |
日付時刻値を問題なく作成可能な std::tm 構造体値であるか否かを調べる。
[in] | tm | std::tm 構造体値。夏時間情報は無視される。 |
true | 作成可能である場合。 |
false | 作成不可能である場合。 |
この関数が true を返す場合、同じ引数を静的メンバ関数 make(const std::tm&) に渡すことで、例外を発生させることなく日付時刻値を作成可能であることが保証される。
|
static |
std::tm 構造体値から日付時刻値を作成する。
[in] | tm | std::tm 構造体値。夏時間情報は無視される。 |
Exception |
|
|
static |
|
static |
指定したUTC日付時刻値のUNIXタイムスタンプを表す時間間隔値を算出する。
[in] | utcTime | UTC日付時刻値。既定では現在日時を用いる。 |
Exception |
|
UTCにおけるエポックからの経過時間を算出して返す。 引数 utcTime の基準時刻がUTCである前提で計算する。
part_type amdaemon::util::DateTime::year | ( | ) | const |
日時表現における年を取得する。
part_type amdaemon::util::DateTime::month | ( | ) | const |
日時表現における月を取得する。
part_type amdaemon::util::DateTime::day | ( | ) | const |
日時表現における日を取得する。
part_type amdaemon::util::DateTime::hour | ( | ) | const |
日時表現における時を取得する。
part_type amdaemon::util::DateTime::minute | ( | ) | const |
日時表現における分を取得する。
part_type amdaemon::util::DateTime::second | ( | ) | const |
日時表現における秒を取得する。
part_type amdaemon::util::DateTime::millisecond | ( | ) | const |
日時表現におけるミリ秒を取得する。
part_type amdaemon::util::DateTime::microsecond | ( | ) | const |
日時表現におけるマイクロ秒を取得する。
part_type amdaemon::util::DateTime::week | ( | ) | const |
日時表現における曜日を表す数値を取得する。
value_type amdaemon::util::DateTime::getTotalDays | ( | ) | const |
1年1月1日からの通算日数を取得する。
DateTime amdaemon::util::DateTime::getDate | ( | ) | const |
時刻部分を0時0分0秒にした日付時刻値を取得する。
void amdaemon::util::DateTime::getParts | ( | part_type * | year, |
part_type * | month = nullptr , |
||
part_type * | day = nullptr , |
||
part_type * | hour = nullptr , |
||
part_type * | minute = nullptr , |
||
part_type * | second = nullptr , |
||
part_type * | millisecond = nullptr , |
||
part_type * | microsecond = nullptr |
||
) | const |
日時表現における各要素値をまとめて取得する。
[in] | year | 年の設定先。取得しないならば nullptr 。 |
[in] | month | 月の設定先。取得しないならば nullptr 。 |
[in] | day | 日の設定先。取得しないならば nullptr 。 |
[in] | hour | 時の設定先。取得しないならば nullptr 。 |
[in] | minute | 分の設定先。取得しないならば nullptr 。 |
[in] | second | 秒の設定先。取得しないならば nullptr 。 |
[in] | millisecond | ミリ秒の設定先。取得しないならば nullptr 。 |
[in] | microsecond | マイクロ秒の設定先。取得しないならば nullptr 。 |
std::wstring amdaemon::util::DateTime::toString | ( | const wchar_t * | format = nullptr | ) | const |
文字列表現値を作成する。
[in] | format | フォーマット文字列。 |
引数 format には下記のフォーマット文字列と任意の文字列の組み合わせを指定する。 大文字と小文字は区別されることに注意。
数値を表すフォーマット文字列は、1文字目の '' の直後に幅指定を行う事ができる。 幅指定は「数字」か、「文字 '0' + 数字」の形式で指定でき、例えば次のようになる。
引数 format に nullptr を指定した場合、 "%t" を指定したものとして扱う。
等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
非等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
小なり比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
大なり比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
小なり等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
大なり等価比較演算子のオーバロード。
[in] | l | 左辺値。 |
[in] | r | 右辺値。 |
value_type amdaemon::util::DateTime::value |
西暦1年1月1日0時0分0秒からの経過マイクロ秒数値。