std::time_put_byname
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <locale> 中定义
|
||
template< class CharT, class OutputIterator = std::ostreambuf_iterator<CharT> > class time_put_byname : public std::time_put<CharT, OutputIterator>; |
||
std::time_put_byname是一个std::time_put方面,封装的日期和时间格式的规则,在其建设中指定的区域设置.
原文:
std::time_put_byname is a std::time_put facet which encapsulates time and date formatting rules of the locale specified at its construction.
两个专业所提供的标准库
原文:
Two specializations are provided by the standard library
在头文件
<locale> 中定义 | |
std::time_put_byname<char, OutputIterator> | 窄/多字节的时间格式
|
std::time_put_byname<wchar_t>, OutputIterator | 宽字符串格式
|
目录 |
[编辑] 会员类型
会员类型
|
Definition |
char_type
|
CharT
|
iter_type
|
OutputIterator
|
[编辑] 成员函数
构造一个新time_put_byname方面 原文: constructs a new time_put_byname facet (公共成员函数) | |
解构一个time_put_byname方面 (受保护的成员函数) |
Inherited from std::time_put
Member objects
会员名称
|
Type |
id (静态的)
|
std::locale::id |
Member functions
调用 do_put (公共成员函数of std::time_put )
|
Protected member functions
[虚]</div></div>
|
日期/时间的格式,并写入到输出流 原文: formats date/time and writes to output stream (虚拟保护成员函数of std::time_get )
|
</div>
[编辑] 示例
这个例子将当前的时间,使用“C”语言环境与的的time_put方面取代各种time_put_byname方面的
原文:
This example prints current time using the "C" locale with the time_put facet replaced by various time_put_byname facets
#include <iostream> #include <ctime> #include <iomanip> #include <codecvt> int main() { std::time_t t = std::time(NULL); std::wbuffer_convert<std::codecvt_utf8<wchar_t>> conv(std::cout.rdbuf()); std::wostream out(&conv); out.imbue(std::locale(out.getloc(), new std::time_put_byname<wchar_t>("ja_JP"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; out.imbue(std::locale(out.getloc(), new std::time_put_byname<wchar_t>("ru_RU.utf8"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; out.imbue(std::locale(out.getloc(), new std::time_put_byname<wchar_t>("sv_SE.utf8"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; }
Possible output:
木曜日 2012年08月09日 21時41分02秒 Четверг Чт. 09 авг. 2012 21:41:02 torsdag tor 9 aug 2012 21:41:02
[编辑] 另请参阅
(类模板) |