std::time_put
| Definiert in Header <locale> |
||
| template< class CharT, |
||
Die Klassenschablone std::time_put kapselt Regeln für die Formatierung von Datum und Uhrzeit. Der E/A-Manipulator std::put_time verwendet die Facette std::time_put des Locales des E/A-Streams, um eine Textdarstellung eines std::tm-Objekts zu generieren.
Vererbungdiagramm
Wenn keine Spezialisierung von std::time_put garantiert von der Standardbibliothek bereitgestellt wird (siehe unten), sind die Verhaltensweisen ihrer put() und do_put() nicht wie spezifiziert garantiert.
Inhalt |
[bearbeiten] Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen (sie müssen von jedem Locale-Objekt implementiert werden)
| Definiert in Header
<locale> | |
| std::time_put<char> | erzeugt schmale Zeichenketten-Darstellungen von Datum und Uhrzeit |
| std::time_put<wchar_t> | erzeugt breite Zeichenketten-Darstellungen 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 -
OutputItmuss die Anforderungen an LegacyOutputIterator erfüllen.
[bearbeiten] Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
iter_type
|
OutputIt
|
[edit] Datenmember
| Mitglied | Beschreibung |
std::locale::id id [static] |
die Kennung des Facets |
[bearbeiten] Memberfunktionen
konstruiert eine neue time_put-Facet(public member function) | |
destruiert eine time_put-Facet(protected member function) | |
ruft do_put auf(public member function) |
[bearbeiten] Protected Memberfunktionen
| [virtuell] |
formatiert Datum/Uhrzeit und schreibt in den Ausgabestream (virtual protected member function) |
[bearbeiten] Beispiel
#include <codecvt> #include <ctime> #include <iomanip> #include <iostream> int main() { std::time_t t = std::time(nullptr); std::wbuffer_convert<std::codecvt_utf8<wchar_t>> conv(std::cout.rdbuf()); std::wostream out(&conv); out.imbue(std::locale("ja_JP.utf8")); // this I/O manipulator std::put_time uses std::time_put<wchar_t> out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; }
Ausgabe
水曜日 2011年11月09日 12時32分05秒
[bearbeiten] Siehe auch
| repräsentiert die systemseitig bereitgestellte std::time_put für das benannte Locale (Klassentemplate) | |
| analysiert Zeit-/Datumsangaben aus einer Eingabezeichensequenz in std::tm (Klassentemplate) | |
| (C++11) |
Formatiert und gibt einen Datums-/Zeitwert gemäß dem angegebenen Format aus (Funktion-Template) |