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
adjust-dateTime-to-timezone | XPath |
La función fn:adjust-dateTime-to-timezone ajusta la indicación de fecha y hora a una determinada zona horaria generando una nueva fecha y hora. El comportamiento de la función dependerá de si la fecha y hora indicada tiene o no implícita una zona horaria; y de si se indica una zona horaria en el segundo argumento.
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). El argumento de zona horaria presenta el siguiente formato: la hora centroeuropea se indicaría p.ej. como +PT1H00M, la hora UTC PT0H00M y la Hora Estándar del Este de Estados Unidos -PT5H00M.
Si en la indicación de la zona horaria se introduce una secuencia vacía, la información sobre la zona horaria en la fecha será eliminada. En caso de que no se introduzca el argumento de zona horaria, ésta se extraerá, en su caso, de la indicación en xs:dateTime, o bien de la zona horaria implícita en el contexto. Si hay definida una zona horaria en cada argumento, se ajustará la hora indicada en xs:time a la nueva zona horaria indicada en el argumento. Si el cambio horario excede el margen del día, se ajustará la fecha en el resultado.
Argumentos
Indicación de fecha y hora
Es obligatorio, pero puede ser una secuencia vacía.
Tipo: xs:dateTime
Zona horaria
Opcional
Tipo: xs:dayTimeDuration
Valor de salida
Indicación de fecha y hora
Tipo: xs:dateTime
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T09:25:00'), xs:dayTimeDuration('-PT5H'))
Resultado: 2003-07-07T09:25:00-05:00
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T09:25:00'))
Resultado: 2003-07-07T09:25:00+01:00
Aquí la zona horaria implícita es UTC+2
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T09:25:00+03:00'), ()'))
Resultado: 2003-07-07T09:25:00
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T09:25:00+02:00'), xs:dayTimeDuration('-PT5H'))
Resultado: 2003-07-07T02:25:00-05:00
A causa de la introducción de diferentes zonas horarias, la hora de entrada se ajustará a la nueva zona horaria.
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T09:25:00+02:00'), xs:dayTimeDuration('-PT8H'))
Resultado: 2003-07-06T23:25:00-08:00
A causa de la introducción de diferentes zonas horarias, la hora de entrada se ajustará a la nueva zona horaria. Puesto que la diferencia de hora excede el margen del día, se cambiará además la fecha en el resultado.
Ejemplo
adjust-dateTime-to-timezone(xs:dateTime('2003-07-07T23:25:00+00:00'), xs:dayTimeDuration('PT2H'))
Resultado: 2003-07-08T01:25:00+02:00
> Volver a la referencia alfabética de XSLT y XPATH |