std::chrono::year_month_day
来自 cppreference.com
定义在头文件 <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