Namensräume
Varianten
Aktionen

std::time_get

Von cppreference.com
< cpp‎ | locale
 
 
 
 
 
Definiert in Header <locale>
template<

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

> class time_get;

Die Klassenschablone std::time_get kapselt Regeln für das Parsen von Datums- und Zeitangaben. Der I/O-Manipulator std::get_time verwendet die std::time_get-Facet-Klasse der Locale eines I/O-Streams, um Text-Eingaben in ein Objekt vom Typ std::tm zu konvertieren.

cpp/locale/time basecpp/locale/locale/facetstd-time get-inheritance.svg

Vererbungdiagramm

Wenn eine Spezialisierung von std::time_get nicht garantiert von der Standardbibliothek bereitgestellt wird (siehe unten), sind die Verhaltensweisen ihrer Member-Funktionen (mit Ausnahme des Konstruktors und des Destruktors) nicht wie spezifiziert garantiert.

Inhalt

[edit] Spezialisierungen

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

Definiert in Header <locale>
std::time_get<char> parst schmale Zeichenkettenrepräsentationen von Datum und Uhrzeit
std::time_get<wchar_t> parst breite Zeichenkettenrepräsentationen von Datum und Uhrzeit

Darüber hinaus ist garantiert, dass die Standardbibliothek jede Spezialisierung bereitstellt, die die folgenden Tybanforderungen erfüllt:

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

[edit] Verschachtelte Typen

Typ Definition
char_type CharT
iter_type InputIt

[edit] Datenmember

Mitglied Beschreibung
std::locale::id id [static] die Kennung des Facets

[edit] Member-Funktionen

erzeugt ein neues time_get-Facet
(öffentliche Memberfunktion)
zerstört ein time_get-Facet
(geschützte Memberfunktion)
ruft do_date_order auf
(public member function) [edit]
ruft do_get_time auf
(public member function) [edit]
ruft do_get_date auf
(public member function) [edit]
ruft do_get_weekday auf
(public member function) [edit]
ruft do_get_monthname auf
(public member function) [edit]
ruft do_get_year auf
(public member function) [edit]
(C++11)
ruft do_get auf
(public member function) [edit]

[edit] Geschützte Member-Funktionen

[virtuell]
ermittelt die bevorzugte Reihenfolge von Tag, Monat und Jahr
(virtual protected member function) [edit]
[virtuell]
extrahiert Stunden, Minuten und Sekunden aus dem Eingabestream
(virtual protected member function) [edit]
[virtuell]
extrahiert Monat, Tag und Jahr aus einem Eingabestrom
(virtual protected member function) [edit]
[virtuell]
extrahiert den Namen eines Wochentags aus dem Eingabestream
(virtual protected member function) [edit]
extrahiert einen Monatsnamen aus dem Eingabestream
(virtual protected member function) [edit]
[virtuell]
extrahiert ein Jahr aus dem Eingabestream
(virtual protected member function) [edit]
[virtual] (C++11)
extrahiert Datum/Uhrzeit-Komponenten aus dem Eingabestream gemäß dem angegebenen Format
(virtual protected member function) [edit]

Geerbt von std::time_base

Verschachtelte Typen

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

[edit] 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

[edit] Siehe auch

formatiert den Inhalt von std::tm für die Ausgabe als Zeichensequenz
(Klassentemplate) [bearbeiten]
(C++11)
Parst einen Datums-/Zeitwert nach dem angegebenen Format
(Funktion-Template) [bearbeiten]