std:: formatter <std::chrono::year>
|
Definido en el encabezado
<chrono>
|
||
|
template
<
class
CharT
>
struct formatter < std:: chrono :: year , CharT > ; |
||
Especialización de std::formatter que define las reglas de formato para un std::chrono::year .
La especialización de std::formatter normalmente no se accede directamente, sino que se utiliza a través de las funciones de formato .
Especificación de formato
La especificación de formato tiene la forma
fill-and-align
(opcional)
width
(opcional)
precision
(opcional)
L
(opcional)
chrono-spec
(opcional)
|
|||||||||
fill-and-align
,
width
, y
precision
tienen el mismo significado que en la
especificación de formato estándar
.
precision
es válido solo para tipos
std::chrono::duration
donde el tipo de representación
Rep
es un tipo de punto flotante; de lo contrario, se lanza
std::format_error
.
La configuración regional utilizada para el formato se determina de la siguiente manera:
-
la configuración regional predeterminada
"C"
si
Lno está presente en la especificación de formato, - de lo contrario, la configuración regional denotada por el std::locale pasado a la función de formato, si existe,
-
de lo contrario (
Lestá presente pero no se pasa ningún std::locale a la función de formato), la configuración regional global.
Si la codificación de cadena literal (ordinaria o ancha) es una forma de codificación Unicode y la configuración regional se encuentra entre un conjunto definido por la implementación de configuraciones regionales, cada reemplazo que depende de la configuración regional se realiza como si la secuencia de caracteres de reemplazo se convirtiera a la codificación literal.
La
chrono-spec
consiste en uno o más especificadores de conversión y caracteres ordinarios (distintos de
{
,
}
, y
%
). Una
chrono-spec
debe comenzar con un especificador de conversión. Todos los caracteres ordinarios se escriben en la salida sin modificación. Cada especificador de conversión no modificado comienza con un carácter
%
seguido de un carácter que determina el comportamiento del especificador. Algunos especificadores de conversión tienen una forma modificada en la que se inserta un carácter modificador
E
o
O
después del carácter
%
. Cada especificador de conversión se reemplaza por los caracteres apropiados en la salida como se describe a continuación.
A menos que se especifique lo contrario, si el
chrono-spec
está vacío, el objeto chrono se formatea como si se
transmitiera
a un objeto
os
de tipo
std::
basic_ostringstream
<
CharT
>
con la configuración regional de formato (una de
std::
locale
::
classic
(
)
, el objeto
std::locale
pasado, y
std::
locale
::
global
(
)
)
establecido
y copiando
os.
str
(
)
al búfer de salida con relleno adicional y ajustes según los especificadores de formato.
Los siguientes especificadores de formato están disponibles:
|
Especificador de
conversión |
Explicación | |
|---|---|---|
%%
|
Escribe un carácter literal
%
.
|
|
%n
|
Escribe un carácter de nueva línea. | |
%t
|
Escribe un carácter de tabulación horizontal. | |
| Año | ||
%C
%EC
|
Escribe el año dividido por 100 usando división truncada. Si el resultado es un solo dígito decimal, se le antepone un 0.
El comando modificado
|
|
%y
%Oy
%Ey
|
Escribe los últimos dos dígitos decimales del año. Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
El comando modificado
|
|
%Y
%EY
|
Escribe el año como número decimal. Si el resultado tiene menos de cuatro dígitos, se rellena con ceros a la izquierda hasta cuatro dígitos.
El comando modificado
|
|
Los siguientes especificadores son reconocidos, pero causarán que se lance std::format_error :
|
Especificador
de conversión |
Explicación | |
|---|---|---|
| Mes | ||
%b
%h
|
Escribe el nombre abreviado del mes según la configuración regional. | |
%B
|
Escribe el nombre completo del mes según la configuración regional. | |
%m
%Om
|
Escribe el mes como un número decimal (enero es
01
). Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
|
|
| Día | ||
%d
%Od
|
Escribe el día del mes como un número decimal. Si el resultado es un solo dígito decimal, se le antepone un 0.
El comando modificado
|
|
%e
%Oe
|
Escribe el día del mes como un número decimal. Si el resultado es un solo dígito decimal, se le antepone un espacio.
El comando modificado
|
|
| Día de la semana | ||
%a
|
Escribe el nombre abreviado del día de la semana según la configuración regional. | |
%A
|
Escribe el nombre completo del día de la semana en la configuración regional. | |
%u
%Ou
|
Escribe el día de la semana ISO como un número decimal (1-7), donde el lunes es
1
.
El comando modificado
|
|
%w
%Ow
|
Escribe el día de la semana como un número decimal (0-6), donde el domingo es
0
.
El comando modificado
|
|
| Año basado en semanas ISO 8601 | ||
|
En la norma ISO 8601 las semanas comienzan el lunes y la primera semana del año debe cumplir los siguientes requisitos:
|
||
%g
|
Escribe los dos últimos dígitos decimales del año basado en semanas ISO 8601. Si el resultado es un solo dígito, se antepone un 0. | |
%G
|
Escribe el año basado en semanas ISO 8601 como un número decimal. Si el resultado tiene menos de cuatro dígitos, se rellena a la izquierda con 0 hasta cuatro dígitos. | |
%V
%OV
|
Escribe la semana ISO 8601 del año como número decimal. Si el resultado es un solo dígito, se antepone un 0.
El comando modificado
|
|
| Semana/día del año | ||
%j
|
Escribe el día del año como un número decimal (1 de enero es
001
). Si el resultado tiene menos de tres dígitos, se rellena con 0 a la izquierda hasta tres dígitos.
|
|
%U
%OU
|
Escribe el número de semana del año como un número decimal. El primer domingo del año es el primer día de la semana 01. Los días del mismo año anteriores a ese están en la semana 00. Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
|
|
%W
%OW
|
Escribe el número de la semana del año como un número decimal. El primer lunes del año es el primer día de la semana 01. Los días del mismo año anteriores a ese están en la semana 00. Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
|
|
| Fecha | ||
%D
|
Equivalente a
"%m/%d/%y"
.
|
|
%F
|
Equivalente a
"%Y-%m-%d"
.
|
|
%x
%Ex
|
Escribe la representación de fecha de la configuración regional.
El comando modificado
|
|
| Hora del día | ||
%H
%OH
|
Escribe la hora (reloj de 24 horas) como un número decimal. Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
|
|
%I
%OI
|
Escribe la hora (reloj de 12 horas) como un número decimal. Si el resultado es un solo dígito, se le antepone un 0.
El comando modificado
|
|
%M
%OM
|
Escribe el minuto como un número decimal. Si el resultado es un solo dígito, se antepone un 0.
El comando modificado
|
|
%S
%OS
|
Escribe el segundo como un número decimal. Si el número de segundos es menor que 10, el resultado se antepone con 0.
Si la precisión de la entrada no puede representarse exactamente con segundos, entonces el formato es un número de punto flotante decimal con formato fijo y una precisión que coincide con la precisión de la entrada (o con precisión de microsegundos si la conversión a segundos decimales de punto flotante no puede realizarse dentro de 18 dígitos fraccionarios). El carácter para el punto decimal se localiza según la configuración regional.
El comando modificado
|
|
%p
|
Escribe el equivalente local de las designaciones AM/PM asociadas con un reloj de 12 horas. | |
%R
|
Equivalente a
"%H:%M"
.
|
|
%T
|
Equivalente a
"%H:%M:%S"
.
|
|
%r
|
Escribe la hora del reloj de 12 horas de la configuración regional. | |
%X
%EX
|
Escribe la representación de hora de la configuración regional.
El comando modificado
|
|
| Conteo de duración | ||
%Q
|
Escribe el recuento de ticks de la duración, es decir, el valor obtenido mediante count() . | |
%q
|
Escribe el sufijo de unidad de la duración, como se especifica en operator<<() . | |
| Zona horaria | ||
%z
%Ez
%Oz
|
Escribe el desplazamiento desde UTC en formato ISO 8601. Por ejemplo,
-0430
se refiere a 4 horas 30 minutos detrás de UTC. Si el desplazamiento es cero,
+0000
se utiliza.
Los comandos modificados
|
|
%Z
|
Escribe la abreviatura de la zona horaria. | |
| Miscelánea | ||
%c
%Ec
|
Escribe la representación de fecha y hora de la configuración regional.
El comando modificado
|
|
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
(C++20)
|
almacena la representación formateada de los argumentos en una nueva cadena
(plantilla de función) |