std::chrono::month_weekday_last::month, std::chrono::month_weekday_last::weekday_last

来自cppreference.com
 
 
 
 
constexpr std::chrono::month month() const noexcept;
(1) (C++20 起)
constexpr std::chrono::weekday_last weekday_last() const noexcept;
(2) (C++20 起)

取得存储于 *thismonthweekday_last 对象的副本。

返回值

1) 存储于 *thisstd::chrono::month 对象的副本。
2) 存储于 *thisstd::chrono::weekday_last 对象的副本。

Example

#include <chrono>
#include <iostream>
using namespace std::chrono;
 
int main()
{
    std::cout << std::boolalpha;
 
    auto mwdl{March/Friday[last]}; // 三月最后一个星期五
    auto ywdl{year(2024)/mwdl};
    std::cout << (year_month_day{ywdl} == 
                  year_month_day{March/29/2024}) << ' ';
    // 2024 年中,下一个月的最后一个星期五
    mwdl = {(mwdl.month() + months(1))/mwdl.weekday_last()};
    ywdl = {year(2024)/mwdl}; 
    std::cout << (year_month_day{ywdl} == 
                  year_month_day{April/26/2024}) << '\n';
}

输出:

true true