Namensräume
Varianten
Aktionen

std::time_put

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

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

> class time_put;

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.

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

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:

  • CharT ist einer von char und wchar_t, und
  • OutputIt muss 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) [bearbeiten]
destruiert eine time_put-Facet
(protected member function) [bearbeiten]
ruft do_put auf
(public member function) [bearbeiten]

[bearbeiten] Protected Memberfunktionen

[virtuell]
formatiert Datum/Uhrzeit und schreibt in den Ausgabestream
(virtual protected member function) [bearbeiten]

[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) [bearbeiten]
analysiert Zeit-/Datumsangaben aus einer Eingabezeichensequenz in std::tm
(Klassentemplate) [bearbeiten]
(C++11)
Formatiert und gibt einen Datums-/Zeitwert gemäß dem angegebenen Format aus
(Funktion-Template) [bearbeiten]