home | help
std::chrono...day::weekday(3)  C++ Standard Libary std::chrono...day::weekday(3)

NAME
     std::chrono::weekday::weekday - std::chrono::weekday::weekday

Synopsis
	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  )     (4)
     (since C++20)
	noexcept;

	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 cor-
     responds 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 cor-
     responds to,
	as if by weekday(std::chrono::sys_days(ld.time_since_epoch())).

Parameters
	wd - a weekday value
	sd - a system days object
	ld - a local days object

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 <= 2023; ++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_week-
     day{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

http://cppreference.com 	   2024.06.10	   std::chrono...day::weekday(3)

home | help