std::chrono::weekday::weekday
From cppreference.com
 
 
 
 
 
 C++ 
 Feature test macros (C++20)
 Concepts library (C++20)
 Metaprogramming library (C++11)
 Ranges library (C++20)
 Filesystem library (C++17)
 Concurrency support library (C++11)
 Execution control library (C++26)
Date and time library 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
(C++11)
(C++20)
  (C++20)
(C++11)
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
  (C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
std::chrono::weekday 
 
 
 Member functions
weekday::weekday
 Nonmember functions
 Helper classes
(C++26)
weekday() = default;
 (1) 
 (since C++20) 
constexpr explicit weekday( unsigned wd ) noexcept;
 (2) 
 (since C++20) 
constexpr weekday( const std::chrono::sys_days & sd ) noexcept;
 (3) 
 (since C++20) 
constexpr explicit weekday( const std::chrono::local_days & ld ) noexcept;
 (4) 
 (since C++20) 
Constructs a weekday object.
1) Default constructor leaves the weekday value uninitialized.
2) Constructs a 
weekday object holding the weekday value wd. If wd == 7, the value held is 0. If wd > 255, the value held is unspecified.3) Constructs a 
weekday object representing the day of the week sd corresponds to. This constructor defines an implicit conversion from std::chrono::sys_days to weekday.4) Constructs a 
weekday object representing the day of the week ld corresponds to, as if by weekday(std::chrono::sys_days (ld.time_since_epoch())).[edit] Parameters
 wd
 -
 a weekday value
 sd
 -
 a system days object
 ld
 -
 a local days object
[edit] Example
Run this code
#include <chrono> #include <iomanip> #include <iostream> int main() { constexpr std::chrono::weekday friday{5}; // uses overload (2) static_assert(friday == std::chrono::Friday ); for (int y{2020}; y <= 2024; ++y) { const std::chrono::year cur_year{y}; for (int cur_month{1}; cur_month != 13; ++cur_month) { const std::chrono::year_month_day ymd{cur_year/cur_month/13}; const std::chrono::weekday cur_weekday{std::chrono::sys_days (ymd)}; // (3) if (cur_weekday == friday) std::cout << ymd << " is " << friday << '\n'; } } }
Output:
2020年03月13日 is Fri 2020年11月13日 is Fri 2021年08月13日 is Fri 2022年05月13日 is Fri 2023年01月13日 is Fri 2023年10月13日 is Fri 2024年09月13日 is Fri 2024年12月13日 is Fri