Namespaces
Variants

std::chrono::year_month_weekday_last:: operator sys_days, std::chrono::year_month_weekday_last:: operator local_days

From cppreference.net
constexpr operator std:: chrono :: sys_days ( ) const noexcept ;
(1) (начиная с C++20)
constexpr explicit operator std:: chrono :: local_days ( ) const noexcept ;
(2) (начиная с C++20)

Преобразует * this в std::chrono::time_point , представляющий ту же дату, что и этот year_month_weekday_last .

1) Если ok() возвращает true , возвращает sys_days , представляющий последний weekday() указанных year() и month() . В противном случае возвращаемое значение не определено.
2) То же, что и (1) , но возвращает local_days вместо sys_days . Эквивалентно local_days ( sys_days ( * this ) . time_since_epoch ( ) ) .

Пример

#include <chrono>
#include <iostream>
using namespace std::chrono;
int main()
{
    constexpr auto ymwdl{Tuesday[last]/11/2021};
    static_assert(static_cast<local_days>(ymwdl) ==
                  static_cast<local_days>(November/30/2021));
    // convert from field-based to serial-based to add days
    constexpr auto sd = static_cast<sys_days>(ymwdl);
    constexpr year_month_day ymd{sd + days(42)};
    std::cout << ymd << '\n';
}

Вывод:

2022-01-11