std::chrono::year_month_day_last

来自cppreference.com
< cpp‎ | chrono
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
日期和时间工具
时间点
(C++11)
(C++20)
时长
(C++11)
时钟
(C++11)      
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
当天时刻
(C++20)(C++20)
(C++20)(C++20)
(C++20)

日历
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
year_month_day_last
(C++20)
(C++20)      
(C++20)
(C++20)
(C++20)(C++20)
时区
(C++20)
(C++20)
(C++20)
chrono I/O
(C++20)
C 风格日期和时间
 
 
在标头 <chrono> 定义
class year_month_day_last;
(C++20 起)

year_month_day_last 表示特定年和月的最后一日。它是基于域的时间点,解析为 std::chrono::days,所受的限制是它只能表示月的最后一日。

它直接支持面向 std::chrono::yearsstd::chrono::months 的算术。到 std::chrono::sys_days 的隐式转换等效地允许面向 std::chrono::days 的算术。

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

成员函数

构造 year_month_day_last 对象
(公开成员函数)
monthsyears 为数量修改时间点
(公开成员函数)
访问此对象的域
(公开成员函数)
转换到 std::chrono::time_point
(公开成员函数)
检查此对象是否表示合法日期
(公开成员函数)

非成员函数

比较二个 year_month_day_last
(函数)
year_month_day_last 和一定数量的 yearsmonths 相加或相减
(函数)
输出 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 and ymdl2 == ymdl3);
}

可能的输出:

当前月的最后一天(2023/Aug/last)是:31

参阅

表示特定的 yearmonthday
(类)