Namespaces
Variants

std:: time_get

From cppreference.net
Definiert in Header <locale>
template <

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

> class time_get ;

Die Klassenvorlage std::time_get kapselt Datums- und Zeitparseregeln. Der I/O-Manipulator std::get_time verwendet das std::time_get -Facet der Locale des I/O-Streams, um Texteingaben in ein std::tm -Objekt zu konvertieren.

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

Vererbungsdiagramm

Wenn eine std::time_get Spezialisierung nicht garantiert von der Standardbibliothek bereitgestellt wird (siehe unten), sind die Verhaltensweisen ihrer Memberfunktionen (außer Konstruktor und Destruktor) nicht als spezifiziert garantiert.

Inhaltsverzeichnis

Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen (sie sind von jedem Locale-Objekt implementiert werden müssen ):

Definiert im Header <locale>
std :: time_get < char > analysiert Schmalstring-Darstellungen von Datum und Zeit
std :: time_get < wchar_t > analysiert Breitstring-Darstellungen von Datum und Zeit

Zusätzlich ist die Standardbibliothek auch garantiert, jede Spezialisierung bereitzustellen, die die folgenden Typanforderungen erfüllt:

  • CharT ist einer von char und wchar_t , und
  • InputIt muss die Anforderungen eines LegacyInputIterator erfüllen.

Verschachtelte Typen

Typ Definition
char_type CharT
iter_type InputIt

Datenmitglieder

Mitglied Beschreibung
std::locale::id id [static] der Identifikator des Facet

Memberfunktionen

Konstruiert einen neuen time_get Facette
(öffentliche Elementfunktion)
Zerstört einen time_get Facette
(geschützte Elementfunktion)
Ruft do_date_order auf
(öffentliche Elementfunktion)
Ruft do_get_time auf
(öffentliche Elementfunktion)
Ruft do_get_date auf
(öffentliche Elementfunktion)
Ruft do_get_weekday auf
(öffentliche Elementfunktion)
Ruft do_get_monthname auf
(öffentliche Elementfunktion)
Ruft do_get_year auf
(öffentliche Elementfunktion)
(C++11)
Ruft do_get auf
(öffentliche Elementfunktion)

Geschützte Memberfunktionen

[virtual]
Ermittelt die bevorzugte Reihenfolge von Tag, Monat und Jahr
(geschützte virtuelle Elementfunktion)
[virtual]
Extrahiert Stunden, Minuten und Sekunden aus dem Eingabestrom
(geschützte virtuelle Elementfunktion)
[virtual]
Extrahiert Monat, Tag und Jahr aus dem Eingabestrom
(geschützte virtuelle Elementfunktion)
Extrahiert den Namen eines Wochentags aus dem Eingabestrom
(geschützte virtuelle Elementfunktion)
Extrahiert einen Monatsnamen aus dem Eingabestrom
(geschützte virtuelle Elementfunktion)
[virtual]
Extrahiert ein Jahr aus dem Eingabestrom
(geschützte virtuelle Elementfunktion)
[virtual] (C++11)
Extrahiert Datums-/Zeitkomponenten aus dem Eingabestrom gemäß dem angegebenen Format
(geschützte virtuelle Elementfunktion)

Geerbt von std:: time_base

Geschachtelte Typen

Typ Definition
dateorder Aufzählungstyp für Datumsreihenfolge, definiert die Werte no_order , dmy , mdy , ymd , und ydm

Beispiel

Hinweis: Wählen Sie clang, um die Ausgabe zu beobachten. libstdc++ implementiert den %b-Spezifizierer nicht korrekt: 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';
}

Mögliche Ausgabe:

Sun Feb 18 23:12:34 2011

Siehe auch

formatiert Inhalte von std::tm für die Ausgabe als Zeichensequenz
(Klassentemplate)
(C++11)
analysiert einen Datums-/Zeitwert mit spezifiziertem Format
(Funktionstemplate)