std::chrono:: operator<< (std::chrono::day)
|
定义于头文件
<chrono>
|
||
|
template
<
class
CharT,
class
Traits
>
std::
basic_ostream
<
CharT, Traits
>
&
|
(C++20 起) | |
生成一个由
d
中存储的日期值组成的
std::
basic_string
<
CharT
>
字符串
s
,该值被格式化为十进制数字,若结果本应为单个十进制数字则添加前导零。随后,若
!
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} 不是有效日期"
)
, d
)
)
;
其中
STATICALLY_WIDEN
<
CharT
>
(
"..."
)
当
CharT
为
char
时是
"..."
,当
CharT
为
wchar_t
时是
L
"..."
。
返回值
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
的格式化支持
(类模板特化) |