如何在 C++ 中从 std::chrono::year_month_day 获取星期几

How to get the weekday number from std::chrono::year_month_day in C++

在 C++ 20 中,以下代码将输出输入日期的星期几的数字 (0-6):

#include <chrono>
#include <iostream>

int
main()
{
    using namespace std;
    using namespace std::chrono;
    year_month_day dmy;
    cin >> parse("%d %m %Y", dmy);
    cout << format("%w", weekday{dmy}) << '\n';
}

如何获取该数字以在代码中用作数值,以便在计算中使用它?这一定很简单,但我想不通。

int total_score = weekday{dmy} * 10;

附带说明一下,我实际上使用的是 Howard Hinnant 在 C++ 17 中创建的日期 (http://howardhinnant.github.io/date/date.html) 库,但我相信同样的问题适用于两者。

您可以使用 std::chrono::weekday::c_encoding 检索存储的值。