std:: time_put
|
定义于头文件
<locale>
|
||
|
template
<
class
CharT,
|
||
类模板
std::time_put
封装了日期和时间格式化规则。I/O 操纵器
std::put_time
使用 I/O 流区域设置的
std::time_put
刻面来生成
std::tm
对象的文本表示。
继承关系图
如果标准库不保证提供某个
std::time_put
特化(参见下文),则其
put()
和
do_put()
成员函数的行为不保证符合规范说明。
目录 |
特化
标准库保证提供以下特化(它们 是任何locale对象必须实现的 ):
|
定义于头文件
<locale>
|
|
| std :: time_put < char > | 生成日期和时间的窄字符串表示 |
| std :: time_put < wchar_t > | 生成日期和时间的宽字符串表示 |
此外,标准库还保证提供满足以下类型要求的每个特化:
-
CharT是 char 和 wchar_t 之一,且 -
OutputIt必须满足 LegacyOutputIterator 的要求。
嵌套类型
| 类型 | 定义 |
char_type
|
CharT
|
iter_type
|
OutputIt
|
数据成员
| 成员 | 描述 |
std::locale::id
id
[static]
|
facet 的标识符 |
成员函数
构造新的
time_put
facet
(公开成员函数) |
|
析构
time_put
facet
(受保护成员函数) |
|
调用
do_put
(公开成员函数) |
受保护成员函数
|
[virtual]
|
格式化日期/时间并写入输出流
(虚受保护成员函数) |
示例
#include <codecvt> #include <ctime> #include <iomanip> #include <iostream> int main() { std::time_t t = std::time(nullptr); std::wbuffer_convert<std::codecvt_utf8<wchar_t>> conv(std::cout.rdbuf()); std::wostream out(&conv); out.imbue(std::locale("ja_JP.utf8")); // 此I/O操纵符 std::put_time 使用 std::time_put<wchar_t> out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; }
输出:
水曜日 2011年11月09日 12時32分05秒
参阅
|
表示系统提供的命名区域设置的
std::time_put
(类模板) |
|
|
将输入字符序列中的时间/日期值解析到
std::tm
中
(类模板) |
|
|
(C++11)
|
根据指定格式格式化并输出日期/时间值
(函数模板) |