共用方式為


year_month_weekday_last 類別

當月的特定年份、月份和最後一個工作日。

語法

class year_month_weekday_last; // C++20

備註

year_month_weekday_last 支援以年和月為導向的算術,但不支援以天為導向的算術。 若為天導向算術,請使用 sys_days 轉換 sys_days轉換為 ,其支援天導向算術。

year_month_weekday_last 是一種簡單可複製且標準版面配置類別類型。

成員

名稱 描述
Constructor year_month_weekday_last使用指定的月份與工作日建構 。
month 取得月份值。
ok 檢查是否 year_month_weekday_last 有效。
operator+= 新增指定的月數或年份。
operator-= 減去指定的月數或年份。
operator local_days 取得從 system_clock epoch 到這個 year_month_weekday_last 的天數計數。 local_days
operator sys_days 取得從 system_clock epoch 到這個 year_month_weekday_last 的天數計數。 sys_days
weekday 取得工作日。
weekday_last weekday_last取得儲存在這個 中的 year_month_weekday_last
year 取得年份。

非成員

名稱 描述
operator+ 新增月份或年份。
operator- 減去月份或年份。
operator== 判斷兩個 year_month_weekday_last 值是否相等。
operator<< year_month_weekday_last將 輸出至指定的數據流。

需求

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

命名空間std::chrono

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

建構函式

建構 year_month_weekday_last

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

參數

m
month 值。

wdl
weekday_last 值。

y
year 值。

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

範例:建立 year_month_weekday_last

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

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

取得月份值。

constexpr month month() const noexcept;

傳回值

month 值。

ok

檢查儲存在此 中的 year_month_weekday_last 值是否有效。 year儲存在此 中的 year_month_weekday_lastmonthweekday_last 都必須ok讓函式傳回 true。 否則傳回 false

constexpr bool ok() const noexcept;

傳回值

true 如果值有效,則 year_month_weekday_last 為 。 否則為 false
year_month_weekday_last如果monthweekday_indexed所有 year 有效,則為有效的 。

operator+=

將月份或年份新增至此 year_month_weekday_last

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;

參數

m
要加入的月數。

y
要加入的年數。

傳回值

*this 會反映加法的結果。

範例: operator+=

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

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl += months{ 1 };
    ymwl += years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

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

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;

參數

m
要減去的月數。

y
要減去的年數。

傳回值

*this 會反映減法的結果。

範例: operator-=

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

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl -= months{ 1 };
    ymwl -= years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

取得從 system_clock epoch (1/1/1/1970) 到這個 year_month_weekday_last 的天數計數 local_days

constexpr explicit operator local_days() const noexcept;

傳回值

如果 ok()為 ,則會以 傳回天數 local_days{sys_days{*this}.time_since_epoch()}的計數。 否則傳回的值未指定。

operator sys_days

取得從 system_clock epoch (1/1/1/1970) 到這個year_month_day的天數計數。sys_days

constexpr operator sys_days() const noexcept;

傳回值

如果 ok() == true為 ,則傳 sys_days 回代表最後 weekday() 一個 的 year() / month() (注意: / 是日期運算符,而不是除法)。 否則傳回的值未指定。

weekday

weekday取得 。

constexpr weekday weekday() const noexcept;

傳回值

weekday

weekday_last

weekday_last取得儲存在這個 中的 year_month_weekday_last

constexpr weekday_indexed weekday_last() const noexcept;

傳回值

weekday_last

year

取得年份值。

constexpr year year() const noexcept;

傳回值

year 值。

另請參閱

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