std::chrono::year_month_day_last::year, std::chrono::year_month_day_last::month, std::chrono::year_month_day_last::day, std::chrono::year_month_day_last::month_day_last
From cppreference.com
                    
                                        
                    < cpp | chrono | year month day last
                    
                                                            
                    | constexpr std::chrono::year year() const noexcept; | (1) | (since C++20) | 
| constexpr std::chrono::month month() const noexcept; | (2) | (since C++20) | 
| constexpr std::chrono::day day() const noexcept; | (3) | (since C++20) | 
| constexpr std::chrono::month_day_last month_day_last() const noexcept; | (4) | (since C++20) | 
Retrieves the field values stored in this year_month_day_last object.
Return values
1) Returns the stored std::chrono::year value.
2) Returns the stored std::chrono::month value.
3) A std::chrono::day value corresponding to the last day of the stored year and month.
4) A std::chrono::month_day_last constructed from 
month().Notes
The behavior of (3) when !this->ok() is not currently defined. It likely will be defined to return some invalid day in that case (such as std::chrono::day(0)).