std::chrono::year_month_day::year_month_day
From cppreference.com
                    
                                        
                    < cpp | chrono | year month day
                    
                                                            
                    |   year_month_day() = default;  | 
(1) | (since C++20) | 
|   constexpr year_month_day(const std::chrono::year& y,                          const std::chrono::month& m,  | 
(2) | (since C++20) | 
|   constexpr year_month_day(const std::chrono::year_month_day_last& ymdl) noexcept;  | 
(since C++20) | |
|   constexpr year_month_day(const std::chrono::sys_days& dp) noexcept;  | 
(since C++20) | |
|   explicit constexpr year_month_day(const std::chrono::local_days& dp) noexcept;  | 
(since C++20) | |
Constructs a year_month_day object.
1) Default constructor leaves the date uninitialized.
2) Constructs a 
year_month_day object that stores the year y, month m and day d.3) Constructs a 
year_month_day object that stores the year ymdl.year(), month ymdl.month() and day ymdl.day().4) Constructs a 
year_month_day object that represent the same date as the one represented by dp. 5) Constructs a 
year_month_day object that represent the same date as the one represented by dp, as if by year_month_day(sys_days(dp.time_since_epoch())).Constructors (3-4) define implicit conversions from std::chrono::year_month_day_last and std::chrono::sys_days, respectively.
For any year_month_day object ymd representing a valid date (ymd.ok() == true), converting ymd to sys_days and back yields the same value.
Notes
A year_month_day can also be created by combining one of the partial-date types std::chrono::year_month and std::chrono::month_day with the missing component (day and year, respectively) using operator/.
See also
|    (C++20)  | 
   conventional syntax for Gregorian calendar date creation   (function)  |