std::chrono::year_month_day_last
來自 cppreference.com
定義於標頭檔案 <chrono> |
||
class year_month_day_last; |
(C++20 起) | |
類year_month_day_last
表示特定年和月的最後一天。它是一個基於欄位的時間點,解析度為std::chrono::days,受限於只能表示一個月的最後一天。
直接支援面向std::chrono::years和std::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 成員函式) |
[編輯] 非成員函式
(C++20) |
比較兩個 year_month_day_last 值(函式) |
(C++20) |
將 year_month_day_last 和一些年份或月份加減(函式) |
(C++20) |
將 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
[編輯] 參閱
(C++20) |
表示特定的 year、month 和 day (類) |