std:: time_put
|
Определено в заголовочном файле
<locale>
|
||
|
template
<
class
CharT,
|
||
Шаблон класса
std::time_put
инкапсулирует правила форматирования даты и времени. Манипулятор ввода-вывода
std::put_time
использует аспект
std::time_put
локали потока ввода-вывода для генерации текстового представления объекта
std::tm
.
Диаграмма наследования
Если специализация
std::time_put
не гарантированно предоставляется стандартной библиотекой (см. ниже), поведение её функций
put()
и
do_put()
не гарантируется соответствующим спецификации.
Содержание |
Специализации
Стандартная библиотека гарантированно предоставляет следующие специализации (они обязательны для реализации любым объектом локали ):
|
Определено в заголовочном файле
<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]
|
идентификатор аспекта |
Функции-члены
создает новый
time_put
аспект
(публичная функция-член) |
|
уничтожает
time_put
аспект
(защищенная функция-член) |
|
вызывает
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")); // this I/O manipulator std::put_time uses 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)
|
форматирует и выводит значение даты/времени в соответствии с указанным форматом
(шаблон функции) |