std:: time_put_byname
|
Definiert in Header
<locale>
|
||
|
template
<
class
CharT,
|
||
std::time_put_byname
ist ein
std::time_put
Facet, das die Zeit- und Datumsformatierungsregeln des bei seiner Konstruktion angegebenen Gebietsschemas kapselt.
Inhaltsverzeichnis |
Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung jeder Spezialisierung, die die folgenden Typanforderungen erfüllt:
-
CharTist einer von char und wchar_t , und -
OutputItmuss die Anforderungen eines LegacyOutputIterator erfüllen.
Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
iter_type
|
OutputIt
|
Memberfunktionen
|
(Konstruktor)
|
konstruiert einen neuen
time_put_byname
Facette
(öffentliche Elementfunktion) |
|
(Destruktor)
|
zerstört einen
time_put_byname
Facette
(geschützte Elementfunktion) |
std::time_put_byname:: time_put_byname
|
explicit
time_put_byname
(
const
char
*
name,
std::
size_t
refs
=
0
)
;
|
||
|
explicit
time_put_byname
(
const
std::
string
&
name,
std::
size_t
refs
=
0
)
;
|
(seit C++11) | |
Konstruiert einen neuen
std::time_put_byname
Facet für ein Locale mit
name
.
refs wird für Ressourcenverwaltung verwendet: wenn refs == 0 , zerstört die Implementierung den Facet, wenn das letzte std::locale Objekt, das ihn hält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.
Parameter
| name | - | der Name des Locale |
| refs | - | die Anzahl der Referenzen, die mit dem Facet verknüpft sind |
std::time_put_byname:: ~time_put_byname
|
protected
:
~time_put_byname ( ) ; |
||
Zerstört das Facet.
Geerbt von std:: time_put
Datenelemente
| Element | Beschreibung |
std::locale::id
id
[static]
|
der Identifikator des Facets |
Elementfunktionen
ruft
do_put
auf
(öffentliche Elementfunktion von
std::time_put<CharT,OutputIt>
)
|
Geschützte Elementfunktionen
|
[virtual]
|
formatiert Datum/Uhrzeit und schreibt in Ausgabestrom
(virtuelle geschützte Elementfunktion von
std::time_put<CharT,OutputIt>
)
|
Beispiel
Druckt die aktuelle Zeit unter Verwendung der "C"-Locale mit dem
time_put
Facet, das durch verschiedene
std::time_put_byname
Facets ersetzt wurde. Das gezeigte Ergebnis wurde mit dem Clang-Compiler erzielt.
#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(out.getloc(), new std::time_put_byname<wchar_t>("ja_JP.utf8"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; out.imbue(std::locale(out.getloc(), new std::time_put_byname<wchar_t>("ru_RU.utf8"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; out.imbue(std::locale(out.getloc(), new std::time_put_byname<wchar_t>("sv_SE.utf8"))); out << std::put_time(std::localtime(&t), L"%A %c") << '\n'; }
Mögliche Ausgabe:
木曜日 2023年10月05日 19時44分51秒 Четверг Чт 05 окт 2023 19:44:51 torsdag tor 5 okt 2023 19:44:51
Siehe auch
|
formatiert Inhalte von
std::tm
für die Ausgabe als Zeichensequenz
(Klassentemplate) |