|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
month::operator+=month::operator-= | ||||
| Nonmember functions | ||||
| Helper classes | ||||
(C++26) |
constexprstd::chrono::month& operator+=(conststd::chrono::months& m)noexcept; | (1) | (since C++20) |
constexprstd::chrono::month& operator-=(conststd::chrono::months& m)noexcept; | (2) | (since C++20) |
Adds or subtractsm.count() from the month value, reducing the result modulo 12 to an integer in the range[1, 12].
Contents |
A reference to thismonth after modification.
After a call to one of these functions,ok() is alwaystrue if no overflow occurred during the operation.
#include <chrono>#include <iostream> int main(){std::cout<<std::boolalpha; std::chrono::month m{6}; m+=std::chrono::months(2);std::cout<<(m==std::chrono::month(8))<<' '<<(m==std::chrono::August)<<' '; m-=std::chrono::months(3);std::cout<<(m==std::chrono::month(5))<<' '<<(m==std::chrono::May)<<' '; m=std::chrono::October; m+=std::chrono::months{8};// ((10 += 8 == 18) % 12) == 6;std::cout<<(m==std::chrono::June)<<' '; m-=std::chrono::months{std::chrono::December-std::chrono::February};// -= 10// (6 -= 10) == -4; -4 % 12 == (12 - 4) == 8std::cout<<(m==std::chrono::August)<<'\n';}
Output:
true true true true true true
| increments or decrements the month (public member function)[edit] | |
(C++20) | performs arithmetic onmonths(function)[edit] |