std::chrono::operator<<(std::chrono::day)
来自 cppreference.com
在头文件 <chrono> 中定义 |
||
template< class CharT, class Traits > std::basic_ostream<CharT, Traits>& |
(自 C++20 起) | |
形成一个 std::basic_string<CharT> s
,它包含存储在 d 中的日值,并以十进制数格式化,如果结果为单个十进制数字,则在前面加上一个前导零。然后,如果 !d.ok(),则将 " is not a valid day" 附加到格式化的字符串。将该字符串插入 os 中。
等效于
return os << (d.ok() ?
std::format(STATICALLY_WIDEN<CharT>("{:%d}"), d) :
std::format(STATICALLY_WIDEN<CharT>("{:%d} is not a valid day"), d));
其中 STATICALLY_WIDEN<CharT>("...") 是 "..." 如果 CharT
是 char,并且是 L"..." 如果 CharT
是 wchar_t.
[编辑] 返回值
os
[编辑] 示例
运行此代码
#include <chrono> #include <iostream> int main() { constexpr std::chrono::day d1{31}, d2{7}, d3{42}, d4{}; std::cout << d1 << '\n' << d2 << '\n' << d3 << '\n' << d4 << '\n'; }
可能的输出
31 07 42 is not a valid day 00 is not a valid day
[编辑] 另请参阅
(C++20) |
将参数的格式化表示存储在新的字符串中 (函数模板) |
对 day 的格式化支持(类模板特化) |