共用方式為


year_month 類別

表示月份和年份。 未指定日期。

語法

class year_month; // C++20

成員

名稱 描述
建構函式 建構 year_month
year 傳回年份。
month 傳回月份。
ok 確認 yearmonth 值在有效範圍內。
operator+= 新增指定的月數或年份。
operator-= 減去指定的月數或年份。

非成員

名稱 描述
from_stream year_month使用指定的格式從數據流剖析
operator+ 新增月和/或年。
operator- 減去月和/或年。
operator== 判斷兩個 year_month 值是否相等。
operator<=> 比較兩個 year_month 值。 運算子 >, >=, <=, <, != 是由編譯程式合成。
operator<< year_month將輸出至數據流。

需求

標頭: <chrono> (自C++20起)

命名空間std::chrono

編譯程序選項: /std:c++latest

建構函式

year_month建構 。

1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;

參數

y
year 值。

m
month 值。

備註

1) 預設建構函式不會初始化 yearmonth 值。
2) 使用指定的值建構 year_month

如需指定日期之C++20 語法的相關信息,請參閱 operator/

範例:建立 year_month

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym;
    return 0;
}
2021/Jun

month

取得月份。

constexpr month month() const noexcept;

傳回值

month 值。

year

取得年份。

constexpr year year() const noexcept;

傳回值

year

ok

檢查儲存在此 中的 year_month 年份和月份值是否都位於有效範圍內。

constexpr bool ok() const noexcept;

傳回值

trueyear_month如果年份和月份值在有效範圍內,則為 。 否則為 false

operator+=

將月份或年份新增至此 year_month

1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;

參數

dm
要加入的月數。

dy
要加入的年數。

傳回值

*this,反映加法的結果。

範例: operator +=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym << '\n';

    ym += months{2};
    ym += years{1};

    std::cout << ym;
    
    return 0;
}
2021/Jun
2022/Aug

operator-=

從這個 year_month減去月份或年份。

1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;

參數

dm
要減去的月數。

dy
要減去的年數。

傳回值

*this,反映減法的結果。

範例: operator -=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym << '\n';

    ym -= months{2};
    ym -= years{1};

    std::cout << ym;
    
    return 0;
}
2021/Jun
2020/Apr

另請參閱

<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
標頭檔參考