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) 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);
}