命名空间
变体
操作

std::chrono::operator<<(std::chrono::year)

来自 cppreference.com
< cpp‎ | chrono‎ | year
 
 
实用程序库
语言支持
类型支持 (基本类型,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>
template< class CharT, class Traits >

std::basic_ostream<CharT, Traits>&

    operator<<( std::basic_ostream<CharT, Traits>& os, const std::chrono::year& y );
(自 C++20 起)

形成一个 std::basic_string<CharT> s,它包含存储在 y 中的年份值,格式化为十进制数,如果结果少于四位数,则用 0 左填充到四位数。然后,如果 !y.ok(),则将 " is not a valid year" 附加到格式化字符串。将该字符串插入到 os 中。

等同于

return os << (y.ok() ?
    std::format(STATICALLY_WIDEN<CharT>("{:%Y}"), y) :
    std::format(STATICALLY_WIDEN<CharT>("{:%Y} is not a valid year"), y));

其中 STATICALLY_WIDEN<CharT>("...")"..." 如果 CharTchar,并且是 L"..." 如果 CharTwchar_t

[edit] 返回值

os

[edit] 示例

#include <chrono>
#include <iostream>
 
int main()
{
    constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304};
    std::cout << y1 << '\n'
              << y2 << '\n'
              << y3 << '\n';
}

可能的输出

2020
-0016
-32768 is not a valid year

[edit] 另请参阅

(C++20)
将参数的格式化表示存储在新的字符串中
(函数模板) [edit]
year 的格式化支持
(类模板特化) [edit]