std::chrono::year_month_day
来自 cppreference.cn
定义于头文件 <chrono> |
||
class year_month_day; |
(C++20 起) | |
类 year_month_day
表示特定的年、月和日。它是一个基于字段的时间点,分辨率为 std::chrono::days。直接支持面向 std::chrono::years 和 std::chrono::months 的算术运算。隐式转换为和从 std::chrono::sys_days 转换允许高效地执行面向 std::chrono::days 的算术运算。
year_month_day
是 TriviallyCopyable StandardLayoutType。
目录 |
[编辑] 成员函数
构造一个 year_month_day (公有成员函数) | |
通过月或年的数量修改时间点 (公有成员函数) | |
访问存储在此对象中的年、月和日 (公有成员函数) | |
转换为 std::chrono::time_point (公有成员函数) | |
检查 year_month_day 是否表示有效日期(公有成员函数) |
[编辑] 非成员函数
(C++20) |
比较两个 year_month_day 值(函数) |
(C++20) |
添加或减去 year_month_day 以及年或月的数量(函数) |
(C++20) |
将 year_month_day 输出到流(函数模板) |
(C++20) |
根据提供的格式从流中解析 year_month_day (函数模板) |
[编辑] 辅助类
year_month_day 的格式化支持(类模板特化) | |
std::chrono::year_month_day 的哈希支持 (类模板特化) |
[编辑] 示例
运行此代码
#include <chrono> #include <iostream> int main() { const std::chrono::time_point now{std::chrono::system_clock::now()}; const std::chrono::year_month_day ymd{std::chrono::floor<std::chrono::days>(now)}; std::cout << "Current Year: " << static_cast<int>(ymd.year()) << ", " "Month: " << static_cast<unsigned>(ymd.month()) << ", " "Day: " << static_cast<unsigned>(ymd.day()) << "\n" "ymd: " << ymd << '\n'; }
可能的输出
Current Year: 2023, Month: 9, Day: 4 ymd: 2023-09-04