Namespaces
Variants

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

From cppreference.net
(desde C++20)
(desde C++20)
(desde C++20)
(desde C++20)
(desde C++20)
(desde C++20)
1,2) Agrega dm. count ( ) meses a la fecha representada por ymwdl . El resultado tiene el mismo year() y month() que std:: chrono :: year_month ( ymwdl. year ( ) , ymwdl. month ( ) ) + dm y el mismo weekday() que ymwdl .
3,4) Agrega dy. count ( ) años a la fecha representada por ymwdl . El resultado es equivalente a std:: chrono :: year_month_weekday_last ( ymwdl. year ( ) + dy, ymwdl. month ( ) , ymwd. weekday_last ( ) ) .
5) Resta dm. count ( ) meses de la fecha representada por ymwdl . Equivalente a ymwdl + - dm .
6) Resta dy. count ( ) años de la fecha representada por ymwdl . Equivalente a ymwdl + - dy .

Para duraciones que son convertibles tanto a std::chrono::years como a std::chrono::months , las sobrecargas de years (3,4,6) tienen preferencia si la llamada sería de otro modo ambigua.

Ejemplo

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