std::chrono:: operator+, std::chrono:: operator- (std::chrono::year_month_weekday_last)
From cppreference.net
<
cpp
|
chrono
|
year month weekday last
1,2)
dm.
count
(
)
ヶ月を
ymwdl
が表す日付に加算します。結果は
std::
chrono
::
year_month
(
ymwdl.
year
(
)
, ymwdl.
month
(
)
)
+
dm
と同じ
year()
および
month()
を持ち、
ymwdl
と同じ
weekday()
を持ちます。
3,4)
dy.
count
(
)
年分の年数を、
ymwdl
が表す日付に加算します。結果は
std::
chrono
::
year_month_weekday_last
(
ymwdl.
year
(
)
+
dy, ymwdl.
month
(
)
, ymwd.
weekday_last
(
)
)
と等価です。
5)
指定された日付から
dm.
count
(
)
ヶ月を減算します。
ymwdl
で表される日付から
dm
の月数を減算します。
ymwdl
+
-
dm
と等価です。
6)
dy.
count
(
)
で表される年数を
ymwdl
が表す日付から減算します。
ymwdl
+
-
dy
と等価です。
std::chrono::years
と
std::chrono::months
の両方に変換可能な期間型の場合、呼び出しが曖昧になる可能性があるときは
years
オーバーロード
(3,4,6)
が優先されます。
例
このコードを実行
#include <cassert> #include <chrono> using namespace std::chrono; int main() { constexpr auto ymwdl1{Tuesday[last]/11/2021}; auto ymwdl2 = ymwdl1; ymwdl2 = std::chrono::months(12) + ymwdl2; ymwdl2 = ymwdl2 - std::chrono::years(1); assert(ymwdl1 == ymwdl2); }