std::chrono::year_month_day

来自cppreference.com
< cpp‎ | chrono
 
 
 
 
在标头 <chrono> 定义
class year_month_day;
(C++20 起)

year_month_day 表示为特定的年月日。它是基于域的时间点,其分辨率为 std::chrono::days。它直接支持面向 std::chrono::yearsstd::chrono::months 的算术。与 std::chrono::sys_days 间的双向隐式转换允许进行面向 std::chrono::days 的有效算术运算。

year_month_day可平凡复制 (TriviallyCopyable) 标准布局类型 (StandardLayoutType)

成员函数

构造 year_month_day
(公开成员函数)
以一定量的 monthsyears 为程度修改时间点
(公开成员函数)
访问此对象中存储的 yearmonthday
(公开成员函数)
转换到 std::chrono::time_point
(公开成员函数)
检查 year_month_day 是否表示合法的日期
(公开成员函数)

非成员函数

比较两个 year_month_day
(函数)
year_month_day 与一定量的年数或月数相加或相减
(函数)
输出 year_month_day 到流中
(函数模板)
按照给定的格式从流解析 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"
                 "ymd: " << ymd << '\n';
}

可能的输出:

当前年:2023, 月:6, 日:29
ymd: 2023-09-04