# std::chrono::month::operator+=, std::chrono::month::operator-=

< cpp‎ | chrono‎ | month

constexpr std::chrono::month& operator+=(const std::chrono::months& m) noexcept; | (1) | (C++20 起)
constexpr std::chrono::month& operator+=(const std::chrono::months& m) noexcept; | (2) | (C++20 起)

对月份值加或减 `m.count()` ，将结果对 12 取余，规约成范围 [1, 12] 中的整数。

1) 进行 *this = *this + m;
2) 进行 *this = *this - m;

### 返回值

到修改后的此 `month` 的引用。

### 注意

调用这些函数之一后，若运算中不出现溢出则 ok() 始终为 true 。

### 示例

    #include <iostream>
    #include <chrono>

    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) == 8
        std::cout << (m == std::chrono::August) << '\n';
    }

输出：

    true true true true true true

### 参阅

operator++operator++(int)operator--operator--(int) | 自增或自减 month (公开成员函数)
operator+operator- (C++20) | 进行 `month` 上的算术 (函数)