命名空间
变体
操作

std::chrono::year_month_day_last

来自 cppreference.com
< cpp‎ | chrono
 
 
实用程序库
语言支持
类型支持 (基本类型,RTTI)
库功能测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三方比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(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)

 
 
 
在头文件 <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 对象
(公有成员函数) [编辑]
通过一些月数或年数修改时间点
(公有成员函数) [编辑]
访问此对象的字段
(公有成员函数) [编辑]
转换为 std::chrono::time_point
(公有成员函数) [编辑]
检查此对象是否表示有效日期
(公有成员函数) [编辑]

[编辑] 非成员函数

比较两个 year_month_day_last
(函数) [编辑]
添加或减去一个 year_month_day_last 和一些年数或月数
(函数) [编辑]
将一个 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 << "The last day of present month (" << ymdl << ") is: "
              << std::chrono::year_month_day{ymdl}.day() << '\n';
 
    // The 'last' object can be placed wherever it is legal to place a '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 && ymdl2 == ymdl3);
}

可能的输出

The last day of present month (2023/Aug/last) is: 31

[编辑] 另请参阅

表示特定的 yearmonthday
(类) [编辑]