名稱空間
變體
操作

std::chrono::year_month_day_last

來自 cppreference.com
< cpp‎ | chrono
 
 
日期和時間庫
時間點
(C++11)
(C++20)
時長
(C++11)
時鐘
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
日間時間
(C++20)(C++20)
(C++20)(C++20)
(C++20)
日曆
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
year_month_day_last
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
chrono I/O
(C++20)

 
 
定義於標頭檔案 <chrono>
class year_month_day_last;
(C++20 起)

year_month_day_last表示特定年和月的最後一天。它是一個基於欄位的時間點,解析度為std::chrono::days,受限於只能表示一個月的最後一天。

直接支援面向std::chrono::yearsstd::chrono::months的算術運算。隱式轉換為std::chrono::sys_days允許高效地執行面向std::chrono::days的算術運算。

year_month_day_last是一個可平凡複製的型別 (TriviallyCopyable)標準佈局型別 (StandardLayoutType)

目錄

[編輯] 成員函式

構造一個 year_month_day_last 物件
(public 成員函式) [編輯]
按月或年修改時間點
(public 成員函式) [編輯]
訪問此物件的欄位
(public 成員函式) [編輯]
轉換為 std::chrono::time_point
(public 成員函式) [編輯]
檢查此物件是否表示有效日期
(public 成員函式) [編輯]

[編輯] 非成員函式

比較兩個 year_month_day_last
(函式) [編輯]
year_month_day_last 和一些年份或月份加減
(函式) [編輯]
year_month_day_last 輸出到流中
(函式模板) [編輯]

[編輯] 輔助類

year_month_day_last 的格式化支援
(類模板特化) [編輯]
std::chrono::year_month_day_last 的雜湊支援
(類模板特化)

[編輯] 示例

#include <chrono>
#include <iostream>
 
int main()
{
    const auto ymd = std::chrono::year_month_day
    {
        std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now())
    };
 
    const std::chrono::year_month_day_last ymdl
    {
        ymd.year(), ymd.month() / std::chrono::last
    };
 
    std::cout << "The last day of present month (" << ymdl << ") is: "
              << std::chrono::year_month_day{ymdl}.day() << '\n';
 
    // The 'last' object can be placed wherever it is legal to place a 'day':
    using namespace std::chrono;
    constexpr std::chrono::year_month_day_last
        ymdl1 = 2023y / February / last,
        ymdl2 = last / February / 2023y,
        ymdl3 = February / last / 2023y;
    static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3);
}

可能的輸出

The last day of present month (2023/Aug/last) is: 31

[編輯] 參閱

表示特定的 yearmonthday
(類) [編輯]