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)
从
ymwdl
表示的日期中减去
dm.
count
(
)
个月。等同于
ymwdl
+
-
dm
。
6)
从
ymwdl
表示的日期中减去
dy.
count
(
)
年。等价于
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); }