format-dateTime
Convierte un valor de fecha y hora (xs:dateTime) en una cadena de texto. La representación de cadena de la fecha y hora sigue el formato que dicte el valor del argumento format
Lenguajes
La función está disponible para XSLT 2.0, XSLT 3.0, Java, C#, C++ y el motor de ejecución integrado.
Parámetros
Argumento | Descripción | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
value | El valor xs:dateTime al que se debe aplicar formato. | ||||||||||
format | Cadena de formato que identifica el formato que se debe aplicar al valor. Véanse las "Observaciones", más abajo | ||||||||||
language | Argumento opcional. Devuelve el nombre del mes y el día de la semana en el idioma seleccionado. Son valores válidos:
|
Nota: | si el resultado de la función (result) se conecta a un nodo de un tipo que no sea string, el formato se puede perder porque el valor se convierte al tipo de destino. Esta conversión automática se puede deshabilitar desactivando la casilla Convertir valores en tipos de destino en el cuadro de diálogo "Configuración" del componente de destino (véase Cambiar la configuración de los componentes. |
Observaciones
El argumento format está compuesto por una cadena que lleva los llamados marcadores de variable entre corchetes. Los caracteres situados fuera de los corchetes son caracteres literales que se deben copiar en el resultado. Si necesita usar corchetes como caracteres literales en el resultado, escríbalos dos veces.
Cada marcador de variable está compuesto por (i) un especificador de componente que identifica qué componente de fecha u hora se debe mostrar, (ii) un modificador de formato opcional, (iii)otro modificador de presentación opcional y (iv) un modificador de ancho opcional precedido de una coma, si existe.
format := (literal | argument)* argument := [component(format)?(presentation)?(width)?] width := , min-width ("-" max-width)? |
Estos son los componentes:
Especificador | Descripción | Presentación predeterminada |
---|---|---|
Y | año (valor absoluto) | cuatro dígitos (2010) |
M | mes del año | 1-12 |
D | día del mes | 1-31 |
d | día del año | 1-366 |
F | día de la semana | nombre del día (dependiendo del idioma) |
W | semana del año | 1-53 |
w | semana del mes | 1-5 |
H | hora (24 horas) | 0-23 |
h | hora (12 horas) | 1-12 |
P | A.M. o P.M. | alfabética (dependiendo del idioma) |
m | minutos de una hora | 00-59 |
s | segundos de un minuto | 00-59 |
f | segundos fraccionarios | numérica, con un decimal |
Z | uso horario como diferencia horaria de UTC | +08:00 |
z | uso horario como diferencia horaria usando GMT | GMT+n |
El modificador de formato puede ser uno de estos:
Carácter | Descripción | Ejemplo |
---|---|---|
1 | formato decimal numérico sin ceros iniciales: 1, 2, 3, ... | 1, 2, 3 |
01 | formato decimal, con dos dígitos: 01, 02, 03, ... | 01, 02, 03 |
N | nombre del componente, todo en mayúsculas | LUNES, MARTES 1) |
n | nombre del componente, todo en minúsculas | lunes, martes 1) |
Nn | nombre del componente, primera letra en mayúsculas | Lunes, Martes 1) |
Notas:
1. los modificadores N, n y Nn solamente son compatibles con estos componentes: M, d, D.
El modificador del ancho, si es necesario, viene introducido por una coma y seguido de un dígito que exprese el ancho mínimo. Opcionalmente puede añadir un guion seguido de otro dígito para expresar el ancho máximo. Por ejemplo:
•[D,2] es el día del mes, con ceros iniciales (dos dígitos).
•[MNn,3-3] es el nombre del mes, escrito con tres caracteres, por ejemplo Ene, Feb, Mar, etc.
Ejemplos
La tabla siguiente muestra algunos ejemplos de formato de valores xs:dateTime, obtenido con ayuda de la función format-dateTime. La columna Valor de la tabla especifica el valor dado al argumento value. La columna Formato de la tabla especifica el valor del argumento format. La columna Resultado muestra el valor que devuelve la función.
Valor | Formato | Resultado |
---|---|---|
2003-11-03T00:00:00 | [D]/[M]/[Y] | 11/03/2003 |
2003-11-03T00:00:00 | [Y]-[M,2]-[D,2] | 03/11/2003 |
2003-11-03T00:00:00 | [Y]-[M,2]-[D,2] [H,2]:[m]:[s] | 2003-11-03 00:00:00 |
2010-06-02T08:02 | [Y] [MNn] [D01] [F,3-3] [d] [H]:[m]:[s].[f] | 2010 June 02 Wed 153 8:02:12.054 |
2010-06-02T08:02 | [Y] [MNn] [D01] [F,3-3] [d] [H]:[m]:[s].[f] [z] | 2010 June 02 Wed 153 8:02:12.054 GMT+02:00 |
2010-06-02T08:02 | [Y] [MNn] [D1] [F] [H]:[m]:[s].[f] [Z] | 2010 June 2 Wednesday 8:02:12.054 +02:00 |
2010-06-02T08:02 | [Y] [MNn] [D] [F,3-3] [H01]:[m]:[s] | 2010 June 2 Wed 08:02:12 |