std:: time_put_byname
|
Definido en el encabezado
<locale>
|
||
|
template
<
class
CharT,
|
||
std::time_put_byname
es una faceta
std::time_put
que encapsula las reglas de formato de hora y fecha de la configuración regional especificada en su construcción.
Contenidos |
Especializaciones
La biblioteca estándar garantiza proporcionar cada especialización que cumpla con los siguientes requisitos de tipo:
-
CharTes uno de char y wchar_t , y -
OutputItdebe cumplir con los requisitos de LegacyOutputIterator .
Tipos anidados
| Tipo | Definición |
char_type
|
CharT
|
iter_type
|
OutputIt
|
Funciones miembro
|
(constructor)
|
construye un nuevo facet
time_put_byname
(función miembro pública) |
|
(destructor)
|
destruye un facet
time_put_byname
(función miembro protegida) |
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
)
;
|
(desde C++11) | |
Construye una nueva faceta
std::time_put_byname
para una configuración regional con
name
.
refs se utiliza para la gestión de recursos: si refs == 0 , la implementación destruye la faceta cuando se destruye el último objeto std::locale que la contiene. De lo contrario, el objeto no se destruye.
Parámetros
| name | - | el nombre de la configuración regional |
| refs | - | el número de referencias que enlazan con la faceta |
std::time_put_byname:: ~time_put_byname
|
protected
:
~time_put_byname ( ) ; |
||
Destruye el facet.
Heredado de std:: time_put
Miembros de datos
| Miembro | Descripción |
std::locale::id
id
[static]
|
el identificador del facet |
Funciones miembro
invoca
do_put
(función miembro pública de
std::time_put<CharT,OutputIt>
)
|
Funciones miembro protegidas
|
[virtual]
|
formatea fecha/hora y escribe en el flujo de salida
(función miembro protegida virtual de
std::time_put<CharT,OutputIt>
)
|
Ejemplo
Imprime la hora actual utilizando la configuración regional "C" con el
facet
time_put
reemplazado por varios facets
std::time_put_byname
. El resultado mostrado se obtuvo utilizando el compilador clang.
#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'; }
Salida posible:
木曜日 2023年10月05日 19時44分51秒 Четверг Чт 05 окт 2023 19:44:51 torsdag tor 5 okt 2023 19:44:51
Véase también
|
formatea el contenido de
std::tm
para salida como secuencia de caracteres
(plantilla de clase) |