std::chrono::operator<<(std::chrono::year)
来自 cppreference.com
定义在头文件 <chrono> 中 |
||
template< class CharT, class Traits > std::basic_ostream<CharT, Traits>& |
(自 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>("...") 是 "..." 如果 CharT
是 char
,并且是 L"..." 如果 CharT
是 wchar_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) |
将参数的格式化表示存储在新的字符串中 (函数模板) |
对 year 的格式化支持(类模板特化) |