名前空間
変種
操作

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

From cppreference.com
 
 
 
 
constexpr operator std::chrono::sys_days() const noexcept;
(1) (C++20以降)
constexpr explicit operator std::chrono::local_days() const noexcept;
(2) (C++20以降)

このyear_month_weekday_lastと同じ日付を表すstd::chrono::time_pointに変換します。

1) ok()trueの場合、year()month()の最後のweekday()を表すsys_daysを返します。それ以外の場合、返される値は未規定です。
2) (1)と同じですが、sys_daysの代わりにlocal_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
English 日本語 中文(简体) 中文(繁體)