std:: time_get
|
Определено в заголовочном файле
<locale>
|
||
|
template
<
class
CharT,
|
||
Шаблон класса
std::time_get
инкапсулирует правила парсинга даты и времени. Манипулятор ввода-вывода
std::get_time
использует аспект
std::time_get
локали потока ввода-вывода для преобразования текстового ввода в объект
std::tm
.
Диаграмма наследования
Если специализация
std::time_get
не гарантированно предоставляется стандартной библиотекой (см. ниже), поведение её функций-членов (кроме конструктора и деструктора) не гарантируется как указанное.
Содержание |
Специализации
Стандартная библиотека гарантированно предоставляет следующие специализации (они должны быть реализованы любым объектом локали ):
|
Определено в заголовочном файле
<locale>
|
|
| std :: time_get < char > | анализирует строковые представления даты и времени для узких строк |
| std :: time_get < wchar_t > | анализирует строковые представления даты и времени для широких строк |
Кроме того, стандартная библиотека также гарантированно предоставляет каждую специализацию, удовлетворяющую следующим требованиям к типам:
-
CharTявляется одним из char и wchar_t , и -
InputItдолжен удовлетворять требованиям LegacyInputIterator .
Вложенные типы
| Тип | Определение |
char_type
|
CharT
|
iter_type
|
InputIt
|
Члены данных
| Участник | Описание |
std::locale::id
id
[static]
|
идентификатор аспекта |
Функции-члены
создает новый
time_get
аспект
(публичная функция-член) |
|
уничтожает
time_get
аспект
(защищенная функция-член) |
|
вызывает
do_date_order
(публичная функция-член) |
|
вызывает
do_get_time
(публичная функция-член) |
|
вызывает
do_get_date
(публичная функция-член) |
|
вызывает
do_get_weekday
(публичная функция-член) |
|
вызывает
do_get_monthname
(публичная функция-член) |
|
вызывает
do_get_year
(публичная функция-член) |
|
|
(C++11)
|
вызывает
do_get
(публичная функция-член) |
Защищенные функции-члены
|
[virtual]
|
получает предпочтительный порядок дня, месяца и года
(виртуальная защищенная функция-член) |
|
[virtual]
|
извлекает часы, минуты и секунды из входного потока
(виртуальная защищенная функция-член) |
|
[virtual]
|
извлекает месяц, день и год из входного потока
(виртуальная защищенная функция-член) |
|
[virtual]
|
извлекает название дня недели из входного потока
(виртуальная защищенная функция-член) |
|
[virtual]
|
извлекает название месяца из входного потока
(виртуальная защищенная функция-член) |
|
[virtual]
|
извлекает год из входного потока
(виртуальная защищенная функция-член) |
|
[virtual]
(C++11)
|
извлекает компоненты даты/времени из входного потока в соответствии с указанным форматом
(виртуальная защищенная функция-член) |
Унаследовано от std:: time_base
Вложенные типы
| Тип | Определение |
dateorder
|
тип перечисления порядка дат, определяющий значения
no_order
,
dmy
,
mdy
,
ymd
, и
ydm
|
Пример
Примечание: для просмотра вывода выберите clang. libstdc++ некорректно реализует спецификатор %b: bug 78714 .
#include <iomanip> #include <iostream> #include <locale> #include <sstream> int main() { std::tm t = {}; std::istringstream ss("2011-Februar-18 23:12:34"); ss.imbue(std::locale("de_DE.utf-8")); ss >> std::get_time(&t, "%Y-%b-%d %H:%M:%S"); if (ss.fail()) std::cout << "Parse failed\n"; else std::cout << std::put_time(&t, "%c") << '\n'; }
Возможный вывод:
Sun Feb 18 23:12:34 2011
Смотрите также
|
форматирует содержимое
std::tm
для вывода в виде последовательности символов
(шаблон класса) |
|
|
(C++11)
|
парсит значение даты/времени указанного формата
(шаблон функции) |