std::time_get
| Definiert in Header <locale> |
||
| template< class CharT, |
||
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.
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:
-
CharTist einer von char und wchar_t, und -
InputItmuss 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) | |
ruft do_get_time auf(public member function) | |
ruft do_get_date auf(public member function) | |
ruft do_get_weekday auf(public member function) | |
ruft do_get_monthname auf(public member function) | |
ruft do_get_year auf(public member function) | |
| (C++11) |
ruft do_get auf(public member function) |
[edit] Geschützte Member-Funktionen
| [virtuell] |
ermittelt die bevorzugte Reihenfolge von Tag, Monat und Jahr (virtual protected member function) |
| [virtuell] |
extrahiert Stunden, Minuten und Sekunden aus dem Eingabestream (virtual protected member function) |
| [virtuell] |
extrahiert Monat, Tag und Jahr aus einem Eingabestrom (virtual protected member function) |
| [virtuell] |
extrahiert den Namen eines Wochentags aus dem Eingabestream (virtual protected member function) |
| [virtuell] |
extrahiert einen Monatsnamen aus dem Eingabestream (virtual protected member function) |
| [virtuell] |
extrahiert ein Jahr aus dem Eingabestream (virtual protected member function) |
| [virtual] (C++11) |
extrahiert Datum/Uhrzeit-Komponenten aus dem Eingabestream gemäß dem angegebenen Format (virtual protected member function) |
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) | |
| (C++11) |
Parst einen Datums-/Zeitwert nach dem angegebenen Format (Funktion-Template) |