std::chrono:: year_month_day_last
From cppreference.net
|
定义于头文件
<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
是一个
可平凡复制
的
标准布局类型
。
目录 |
成员函数
构造
year_month_day_last
对象
(公开成员函数) |
|
|
通过若干月或年修改时间点
(公开成员函数) |
|
|
访问此对象的字段
(公开成员函数) |
|
|
转换为
std::chrono::time_point
(公开成员函数) |
|
|
检查此对象是否表示有效日期
(公开成员函数) |
非成员函数
|
(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 << "当前月份的最后一天 (" << ymdl << ") 是: " << std::chrono::year_month_day{ymdl}.day() << '\n'; // 'last' 对象可以放置在允许放置 '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); }
可能的输出:
当前月份的最后一天 (2023/Aug/last) 是: 31
参见
|
(C++20)
|
表示特定的
year
、
month
和
day
(类) |