Namespaces
Variants

std:: time_put

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

class CharT,
class OutputIt = std:: ostreambuf_iterator < CharT >

> class time_put ;

Klassentemplate std::time_put kapselt Datums- und Zeitformatierungsregeln. Der I/O-Manipulator std::put_time verwendet das std::time_put Facet der Locale des I/O-Streams, um eine Textdarstellung eines std::tm Objekts zu erzeugen.

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

Vererbungsdiagramm

Wenn eine std::time_put Spezialisierung nicht garantiert von der Standardbibliothek bereitgestellt wird (siehe unten), sind die Verhaltensweisen ihrer put() und do_put() Funktionen nicht garantiert wie spezifiziert.

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_put < char > erzeugt Schmalzeichen-Repräsentationen von Datum und Zeit
std :: time_put < wchar_t > erzeugt Breitzeichen-Repräsentationen 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
  • OutputIt muss die Anforderungen eines LegacyOutputIterator erfüllen.

Verschachtelte Typen

Typ Definition
char_type CharT
iter_type OutputIt

Datenmitglieder

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

Memberfunktionen

Konstruiert einen neuen time_put Facette
(öffentliche Elementfunktion)
zerstört einen time_put Facette
(geschützte Elementfunktion)
ruft do_put auf
(öffentliche Elementfunktion)

Geschützte Memberfunktionen

[virtual]
formatiert Datum/Uhrzeit und schreibt in Ausgabestream
(geschützte virtuelle Memberfunktion)

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秒

Siehe auch

repräsentiert das systemseitig bereitgestellte std::time_put für die benannte Locale
(Klassentemplate)
analysiert Zeit-/Datumsangaben aus einer Eingabezeichenfolge in std::tm
(Klassentemplate)
(C++11)
formatiert und gibt einen Datums-/Zeitwert gemäß dem angegebenen Format aus
(Funktionstemplate)