Namespaces
Variants

std::chrono:: operator+, std::chrono:: operator- (std::chrono::year_month_weekday_last)

From cppreference.net
(自 C++20 起)
(自 C++20 起)
(自 C++20 起)
(自 C++20 起)
(自 C++20 起)
(自 C++20 起)
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);
}