6 #ifndef AMDAEMON_UTIL_DATETIME_H 7 #define AMDAEMON_UTIL_DATETIME_H 149 static bool canMake(part_type year, part_type month, part_type day)
151 return canMake(year, month, day, 0, 0);
170 return make(year, month, day, 0, 0);
186 const std::chrono::system_clock::time_point& timePoint,
200 const std::chrono::system_clock::time_point& timePoint,
215 static bool canMake(std::time_t timeStamp,
bool utc =
false);
227 static DateTime make(std::time_t timeStamp,
bool utc =
false);
238 static bool canMake(
const std::tm& tm);
294 static part_type
getDaysOf(part_type year, part_type month);
310 part_type
year()
const;
314 part_type
month()
const;
318 part_type
day()
const;
322 part_type
hour()
const;
342 part_type
week()
const;
363 part_type* month =
nullptr,
364 part_type* day =
nullptr,
365 part_type* hour =
nullptr,
366 part_type* minute =
nullptr,
367 part_type* second =
nullptr,
368 part_type* millisecond =
nullptr,
369 part_type* microsecond =
nullptr)
const;
402 std::wstring
toString(
const wchar_t* format =
nullptr)
const;
412 return (*
this =
add(*
this, r));
423 return (*
this =
subtract(*
this, r));
534 #endif // AMDAEMON_UTIL_DATETIME_H static DateTime now(bool utc=false)
現在日時を表す日付時刻値を取得する。
bool operator>=(const DateTime &l, const DateTime &r)
大なり等価比較演算子のオーバロード。
Definition: DateTime.h:527
static const DateTime & max()
表現可能な最大値を持つ日付時刻値を取得する。
static part_type getDaysOf(part_type year, part_type month)
指定した年月の日数を取得する。
std::int32_t part_type
個別要素値の表現型。
Definition: DateTime.h:43
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)
日付と時刻を表す値から日付時刻値を作成する。
value_type value
西暦1年1月1日0時0分0秒からの経過マイクロ秒数値。
Definition: DateTime.h:49
static const DateTime & epoch()
エポックを表すUTC(世界協定時刻)の日付時刻値を取得する。
part_type minute() const
日時表現における分を取得する。
static DateTime subtract(const DateTime &dt, const TimeSpan &span)
DateTime 値から TimeSpan 値を減算する。
bool operator<(const DateTime &l, const DateTime &r)
小なり比較演算子のオーバロード。
Definition: DateTime.h:497
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 TimeSpan calcUnixTimestampOf(const DateTime &utcTime=now(true))
指定したUTC日付時刻値のUNIXタイムスタンプを表す時間間隔値を算出する。
value_type getTotalDays() const
1年1月1日からの通算日数を取得する。
part_type second() const
日時表現における秒を取得する。
DateTime & operator+=(const TimeSpan &r)
加算代入演算子のオーバロード。
Definition: DateTime.h:410
bool operator==(const DateTime &l, const DateTime &r)
等価比較演算子のオーバロード。
Definition: DateTime.h:477
static bool isLeapYear(part_type year)
指定した年が閏年であるか否かを取得する。
DateTime operator+(const DateTime &l, const TimeSpan &r)
加算演算子のオーバロード。
Definition: DateTime.h:441
bool operator!=(const DateTime &l, const DateTime &r)
非等価比較演算子のオーバロード。
Definition: DateTime.h:487
DateTime operator-(const DateTime &l, const TimeSpan &r)
減算演算子のオーバロード。
Definition: DateTime.h:454
AM Daemon ライブラリクラス群の基底名前空間。
Definition: Log.h:13
part_type year() const
日時表現における年を取得する。
DateTime & operator-=(const TimeSpan &r)
減算代入演算子のオーバロード。
Definition: DateTime.h:421
std::wstring toString(const wchar_t *format=nullptr) const
文字列表現値を作成する。
マイクロ秒精度の日付時刻を表す構造体 DateTime のヘッダ。
Definition: DateTime.h:37
part_type week() const
日時表現における曜日を表す数値を取得する。
part_type millisecond() const
日時表現におけるミリ秒を取得する。
static DateTime make(part_type year, part_type month, part_type day)
日付を表す値から日付時刻値を作成する。
Definition: DateTime.h:168
DateTime getDate() const
時刻部分を0時0分0秒にした日付時刻値を取得する。
static const DateTime & min()
表現可能な最小値を持つ日付時刻値を取得する。
std::uint64_t value_type
内部値の表現型。
Definition: DateTime.h:40
bool operator<=(const DateTime &l, const DateTime &r)
小なり等価比較演算子のオーバロード。
Definition: DateTime.h:517
static DateTime today(bool utc=false)
現在日の0時0分0秒を表す日付時刻値を取得する。
Definition: DateTime.h:75
static DateTime add(const DateTime &dt, const TimeSpan &span)
DateTime 値に TimeSpan 値を加算する。
part_type microsecond() const
日時表現におけるマイクロ秒を取得する。
bool operator>(const DateTime &l, const DateTime &r)
大なり比較演算子のオーバロード。
Definition: DateTime.h:507
part_type day() const
日時表現における日を取得する。
マイクロ秒精度の時間間隔を表す構造体 TimeSpan のヘッダ。
part_type hour() const
日時表現における時を取得する。
static bool canMake(part_type year, part_type month, part_type day)
日付時刻値を問題なく作成可能な値であるか否かを調べる。
Definition: DateTime.h:149
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
日時表現における各要素値をまとめて取得する。
マイクロ秒精度の時間間隔を表す構造体。
Definition: TimeSpan.h:29
part_type month() const
日時表現における月を取得する。