Namespaces
Variants

std:: time_get

From cppreference.net
Definido en el encabezado <locale>
template <

class CharT,
class InputIt = std:: istreambuf_iterator < CharT >

> class time_get ;

La plantilla de clase std::time_get encapsula reglas de análisis de fecha y hora. El manipulador de E/S std::get_time utiliza el facet std::time_get de la configuración regional del flujo de E/S para convertir entrada de texto en un objeto std::tm .

cpp/locale/time base cpp/locale/locale/facet std-time get-inheritance.svg

Diagrama de herencia

Si una especialización de std::time_get no está garantizada de ser proporcionada por la biblioteca estándar (ver abajo), los comportamientos de sus funciones miembro (excepto el constructor y destructor) no están garantizados como se especifica.

Contenidos

Especializaciones

La biblioteca estándar garantiza proporcionar las siguientes especializaciones (estas deben ser implementadas por cualquier objeto locale ):

Definido en el encabezado <locale>
std :: time_get < char > analiza representaciones de cadena estrecha de fecha y hora
std :: time_get < wchar_t > analiza representaciones de cadena ancha de fecha y hora

Además, la biblioteca estándar también garantiza proporcionar cada especialización que cumpla con los siguientes requisitos de tipo:

Tipos anidados

Tipo Definición
char_type CharT
iter_type InputIt

Miembros de datos

Miembro Descripción
std::locale::id id [static] el identificador del facet

Funciones miembro

construye un nuevo facet time_get
(función miembro pública)
destruye un facet time_get
(función miembro protegida)
invoca do_date_order
(función miembro pública)
invoca do_get_time
(función miembro pública)
invoca do_get_date
(función miembro pública)
invoca do_get_weekday
(función miembro pública)
invoca do_get_monthname
(función miembro pública)
invoca do_get_year
(función miembro pública)
(C++11)
invoca do_get
(función miembro pública)

Funciones miembro protegidas

[virtual]
obtiene el orden preferido de día, mes y año
(función miembro protegida virtual)
[virtual]
extrae horas, minutos y segundos del flujo de entrada
(función miembro protegida virtual)
[virtual]
extrae mes, día y año del flujo de entrada
(función miembro protegida virtual)
extrae el nombre de un día de la semana del flujo de entrada
(función miembro protegida virtual)
extrae un nombre de mes del flujo de entrada
(función miembro protegida virtual)
[virtual]
extrae un año del flujo de entrada
(función miembro protegida virtual)
[virtual] (C++11)
extrae componentes de fecha/hora del flujo de entrada, de acuerdo al formato especificado
(función miembro protegida virtual)

Heredado de std:: time_base

Tipos anidados

Tipo Definición
dateorder tipo de enumeración de orden de fecha, definiendo los valores no_order , dmy , mdy , ymd , y ydm

Ejemplo

Nota: elige clang para observar la salida. libstdc++ no implementa correctamente el especificador %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';
}

Salida posible:

Sun Feb 18 23:12:34 2011

Véase también

formatea el contenido de std::tm para salida como secuencia de caracteres
(plantilla de clase)
(C++11)
analiza un valor de fecha/hora de formato especificado
(plantilla de función)