|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Nonmember functions | ||||
| Helper classes | ||||
Defined in header <chrono> | ||
class year_month_day_last; | (since C++20) | |
The classyear_month_day_last represents the last day of a specific year and month. It is a field-based time point, with a resolution ofstd::chrono::days, subject to the limit that it can only represent the last day of a month.
std::chrono::years- andstd::chrono::months-oriented arithmetic are supported directly. An implicit conversion tostd::chrono::sys_days allowsstd::chrono::days-oriented arithmetic to be performed efficiently.
year_month_day_last is aTriviallyCopyableStandardLayoutType.
Contents |
constructs ayear_month_day_last object(public member function)[edit] | |
| modifies the time point by some number of months or years (public member function)[edit] | |
| accesses the fields of this object (public member function)[edit] | |
| converts to astd::chrono::time_point (public member function)[edit] | |
| checks whether this object represents a valid date (public member function)[edit] |
(C++20) | compares twoyear_month_day_last values(function)[edit] |
(C++20) | adds or subtracts ayear_month_day_last and some number of years or months(function)[edit] |
(C++20) | outputs ayear_month_day_last into a stream(function template)[edit] |
formatting support foryear_month_day_last(class template specialization)[edit] | |
| hash support forstd::chrono::year_month_day_last (class template specialization) |
#include <chrono>#include <iostream> int main(){constauto ymd=std::chrono::year_month_day{std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now())}; const std::chrono::year_month_day_last ymdl{ ymd.year(), ymd.month()/std::chrono::last}; std::cout<<"The last day of present month ("<< ymdl<<") is: "<<std::chrono::year_month_day{ymdl}.day()<<'\n'; // The 'last' object can be placed wherever it is legal to place a 'day':usingnamespace std::chrono;constexpr std::chrono::year_month_day_last ymdl1= 2023y/ February/ last, ymdl2= last/ February/ 2023y, ymdl3= February/ last/ 2023y; static_assert(ymdl1== ymdl2&& ymdl2== ymdl3);}
Possible output:
The last day of present month (2023/Aug/last) is: 31
(C++20) | represents a specificyear,month, andday (class)[edit] |