std::chrono::operator/(calendar)
|   Defined in header  <chrono>
  | 
||
 year_month | 
||
|   constexpr auto operator/( const std::chrono::year& y,                           const std::chrono::month& m ) noexcept  | 
(1) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year& y, int m ) noexcept -> std::chrono::year_month;  | 
(2) | (since C++20) | 
 month_day | 
||
|   constexpr auto operator/( const std::chrono::month& m,                           const std::chrono::day& d ) noexcept  | 
(3) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month& m, int d ) noexcept -> std::chrono::month_day;  | 
(4) | (since C++20) | 
|   constexpr auto operator/( int m, const std::chrono::day& d ) noexcept -> std::chrono::month_day;  | 
(5) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::day& d,                           const std::chrono::month& m ) noexcept  | 
(6) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::day& d, int m ) noexcept -> std::chrono::month_day;  | 
(7) | (since C++20) | 
 month_day_last | 
||
|   constexpr auto operator/( const std::chrono::month& m,                          std::chrono::last_spec ) noexcept  | 
(8) | (since C++20) | 
|   constexpr auto operator/( int m, std::chrono::last_spec ) noexcept -> std::chrono::month_day_last;  | 
(9) | (since C++20) | 
|   constexpr auto operator/( std::chrono::last_spec,                           const std::chrono::month& m ) noexcept  | 
(10) | (since C++20) | 
|   constexpr auto operator/( std::chrono::last_spec, int m ) noexcept -> std::chrono::month_day_last;  | 
(11) | (since C++20) | 
 month_weekday | 
||
|   constexpr auto operator/( const std::chrono::month& m,                           const std::chrono::weekday_indexed& wdi ) noexcept  | 
(12) | (since C++20) | 
|   constexpr auto operator/( int m, const std::chrono::weekday_indexed& wdi ) noexcept -> std::chrono::month_weekday;  | 
(13) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::weekday_indexed& wdi,                           const std::chrono::month& m ) noexcept  | 
(14) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::weekday_indexed& wdi, int m ) noexcept -> std::chrono::month_weekday;  | 
(15) | (since C++20) | 
 month_weekday_last | 
||
|   constexpr auto operator/( const std::chrono::month& m,                           const std::chrono::weekday_last& wdl ) noexcept  | 
(16) | (since C++20) | 
|   constexpr auto operator/( int m, const std::chrono::weekday_last& wdl ) noexcept -> std::chrono::month_weekday_last;  | 
(17) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::weekday_last& wdl,                           const std::chrono::month& m ) noexcept  | 
(18) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::weekday_last& wdl, int m ) noexcept -> std::chrono::month_weekday_last;  | 
(19) | (since C++20) | 
 year_month_day | 
||
|   constexpr auto operator/( const std::chrono::year_month& ym,                           const std::chrono::day& d ) noexcept  | 
(20) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year_month& ym, int d ) noexcept -> std::chrono::year_month_day;  | 
(21) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year& y,                           const std::chrono::month_day& md ) noexcept  | 
(22) | (since C++20) | 
|   constexpr auto operator/( int y, const std::chrono::month_day& md ) noexcept -> std::chrono::year_month_day;  | 
(23) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_day& md,                           const std::chrono::year& y ) noexcept  | 
(24) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_day& md, int y ) noexcept -> std::chrono::year_month_day;  | 
(25) | (since C++20) | 
 year_month_day_last | 
||
|   constexpr auto operator/( const std::chrono::year_month& ym,                          std::chrono::last_spec ) noexcept  | 
(26) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year& y,                           const std::chrono::month_day_last& mdl ) noexcept  | 
(27) | (since C++20) | 
|   constexpr auto operator/( int y, const std::chrono::month_day_last& mdl ) noexcept -> std::chrono::year_month_day_last;  | 
(28) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_day_last& mdl,                           const std::chrono::year& y ) noexcept  | 
(29) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_day_last& mdl, int y ) noexcept -> std::chrono::year_month_day_last;  | 
(30) | (since C++20) | 
 year_month_weekday | 
||
|   constexpr auto operator/( const std::chrono::year_month& ym,                           const std::chrono::weekday_indexed& wdi ) noexcept  | 
(31) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year& y,                           const std::chrono::month_weekday& mwd ) noexcept  | 
(32) | (since C++20) | 
|   constexpr auto operator/( int y, const std::chrono::month_weekday& mwd ) noexcept -> std::chrono::year_month_weekday;  | 
(33) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_weekday& mwd,                           const std::chrono::year& y ) noexcept  | 
(34) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_weekday& mwd, int y ) noexcept -> std::chrono::year_month_weekday;  | 
(35) | (since C++20) | 
 year_month_weekday_last | 
||
|   constexpr auto operator/( const std::chrono::year_month& ym,                           const std::chrono::weekday_last& wdl ) noexcept  | 
(36) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::year& y,                           const std::chrono::month_weekday_last& mwdl ) noexcept  | 
(37) | (since C++20) | 
|   constexpr auto operator/( int y, const std::chrono::month_weekday_last& mwdl ) noexcept -> std::chrono::year_month_weekday_last;  | 
(38) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_weekday_last& mwdl,                           const std::chrono::year& y ) noexcept  | 
(39) | (since C++20) | 
|   constexpr auto operator/( const std::chrono::month_weekday_last& mwdl, int y ) noexcept -> std::chrono::year_month_weekday_last;  | 
(40) | (since C++20) | 
These operator/ overloads provide a conventional syntax for the creation of Proleptic Gregorian calendar dates.
For creation of a full date, any of the following three orders are accepted:
-  
year/month/day, -  
month/day/year, -  
day/month/year. 
In each case day can replaced with one of:
- std::chrono::last, for the last day of the month;
 -  
weekday[i], for theith weekday of the month; -  
weekday[std::chrono::last], for the last weekday of the month. 
A plain integer is accepted if its meaning is unambiguous from the types of other operands: 2005y/4/5 is allowed, but 5/April/2005 is not.
Partial-date types (year_month, month_day, etc.) can be created by not applying the second operator/ in any of the three orders.
Return value
Example
#include <chrono> using namespace std::chrono; constexpr auto ym{2021y/8}; static_assert(ym == year_month(year(2021), August)); constexpr auto md{9/15d}; static_assert(md == month_day(September, day(15))); constexpr auto mdl{October/last}; static_assert(mdl == month_day_last(month(10))); constexpr auto mw{11/Monday[3]}; static_assert(mw == month_weekday(November, Monday[3])); constexpr auto mwdl{December/Sunday[last]}; static_assert(mwdl == month_weekday_last(month(12), weekday_last(Sunday))); // Those 3 year/month/day orders that people actually use on this planet and beyond: constexpr auto ymd{year(2021)/January/day(23)}; static_assert(ymd == month{1}/23/2021); static_assert(ymd == day{23}/1/2021); static_assert(ymd == year_month_day(2021y, month(January), 23d)); int main() {}