year_month
類別
表示月份和年份。 未指定日期。
語法
class year_month; // C++20
成員
名稱 | 描述 |
---|---|
建構函式 | 建構 year_month |
year |
傳回年份。 |
month |
傳回月份。 |
ok |
確認 year 和 month 值在有效範圍內。 |
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) 預設建構函式不會初始化 year
或 month
值。
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;
傳回值
true
year_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/
標頭檔參考