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 (公开成员函数) | |
以一定量的 months 或 years 为程度修改时间点 (公开成员函数) | |
访问此对象中存储的 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 的散列支持 (类模板特化) |
Example
运行此代码
#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 << "当前年:" << static_cast<int>(ymd.year()) << ",月:" << static_cast<unsigned>(ymd.month()) << ",日:" << static_cast<unsigned>(ymd.day()) << '\n'; }
可能的输出:
当前年:2023,月:6,日:29