Funciones XSLT y XPath
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
format-dateTime | XSLT |
La función fn:format-dateTime da formato a la fecha y hora introducida en el primer argumento. Es posible definir el formato sólo con el segunto atributo, o bien, usando los cuatro atributos siguientes. La función puede tener dos o cinco atributos.
El segundo argumento es obligatorio y define básicamente el formato de la fecha y hora. El tercer argumento establece el idioma en que se muestran los meses y días de la semana, mientras que con el cuarto puede elegirse entre los distintos calendarios (gregoriano, musulmán, etc). El quinto argumento asigna un lugar geográfico a la fecha, de manera que se tendrán en cuenta diferencias regionales e históricas en la interpretación del calendario.
La indicación de fecha y hora tendrá el formato AAAA-MM-DD'T'HH:MM:SS. Es posible añadir además una zona horaria prefijada, por ejemplo en la forma: 2008-12-24T07:30+01:00 (für CET = UTC+1). Los otros argumentos se definen a través de códigos especiales o mediante una combinación de los mismos. El segundo argumento puede contener cualquier cadena, si bien códigos como [Y], [M] o [D], [H], [m] oder [s] se sustituyen mediante los componentes de los años, meses, días, horas, minutos y segundos en la indicación de fecha del primer argumento.
Con ayuda de modificadores adicionales se puede definir más concretamente el formato de salida de los valores. Por ejemplo, si se introduce [MN] aparecerá NOVIEMBRE en lugar del número 11 o, en su caso, noviembre si se introduce el códico [Mn].
El idioma en que se mostrarán los nombres de los días y meses se introduce, como hemos mencionado más arriba, en el tercer argumento mediante un código formado por dos caracteres. Por ejemplo "es" para español, "en" para inglés, "de" para alemán, etc. Para definir el calendario, en caso de usarse el calendario gregoriano, bastará una secuencia vacía, ya que éste es el valor por defecto. La compatibilidad con otros calendarios dependerá de la aplicación y se introduce a través de una cadena predeterminada de caracteres en mayúscula. La indicación de lugar y de idioma son redundantes.
La función fn:format-dateTime es exclusiva de XSLT, no siendo válida en XQuery o XPath.
Argumentos
Indicación de fecha y hora
Es obligatorio, pero puede ser una secuencia vacía.
Tipo: xs:dateTime
Modelo de formato
Obligatorio
Tipo: xs:string
Indicación de idioma
Opcional, sólo junto con la indicación de calendario y lugar.
Tipo: xs:string
Indicación de calendario
Opcional, sólo junto con la indicación de lugar e idioma.
Tipo: xs:string
Indicación de lugar
Opcional, sólo junto con la indicación de calendario e idioma.
Tipo: xs:string
Valor de salida
Cadena
Tipo: xs:string
Ejemplo
format-dateTime(xs:dateTime(current-dateTime()), 'el [D]. [M]. [Y] a las [H].[m]','es', (),())
Resultado: el 28. 1. 2009 a las 9.28
La fecha y hora actual se mostrarán según el patrón predefinido en esta expresión. El idioma será español y para las variables de lugar y calendario se tomarán los valores por defecto.
Ejemplo
format-dateTime(xs:dateTime('2008-12-24T07:05:59'), 'a los [s] segundos del [m1]º minuto de la [H1]ª hora del [D1]º día del [M1]º mes del año [Y1] después de Cristo.')
Resultado: a los 59 segundos del 5º minuto de la 7ª hora del dia 24º del 12º mes del año 2008 después de Cristo.
Las expresiones [m1], [H1], etc. hacen posible la indicación de minutos y horas con una sola cifra, mientras que los códigos [m01] o [m001], predefinen una indicación con dos o tres cifras respectivamente.
Ejemplo
format-dateTime(xs:dateTime('2008-12-24T07:05:59'), '[D]-[M]-[Y]')
Resultado: 24-12-2008
Ejemplo
format-dateTime(xs:dateTime('2008-12-24T07:05:59'), '[Y]')
Resultado: 2008
Ejemplo
format-dateTime(xs:dateTime('2008-12-24T07:05:59'), '[F], [D] de [Mn] de [Y]')
Resultado: Miércoles, 24 de diciembre de 2008
El código [F] indica el día de la semana. Aquí el idioma por defecto sería español (es). No obstante, debe tenerse en cuenta que procesadores como Saxon no soportan el idioma español.
> Volver a la referencia alfabética de XSLT y XPATH |