xpath2 | durations, date and time functions (duración, fecha y hora)
Las funciones de duración, fecha y hora de la biblioteca xpath2 permiten ajustar las fechas y horas al uso horario, extraer componentes de los datos fecha/hora y sustraer una unidad fecha/hora a otra.
Ajustar fechas y horas
Para ajustar los valores de hora y fecha de un uso horario siga estos pasos:
•adjust-date-to-timezone
•adjust-date-to-timezone (con argumento timezone)
•adjust-dateTime-to-timezone
•adjust-dateTime-to-timezone (con argumento timezone)
•adjust-time-to-timezone
•adjust-time-to-timezone (con argumento timezone)
Cada una de estas funciones toma un valor date, time o dateTime como primer argumento y ajusta los datos de entrada añadiendo, eliminando o modificando el componente de uso horario en función del valor del segundo argumento, si lo hay.
Si el primer argumento no contiene uso horario (por ejemplo, la fecha 2020-01 o la hora 14:00:00) hay tres posibilidades.
•Si está presente el argumento timezone, el resultado contendrá el uso horario especificado en el segundo argumento. Se añade el uso horario en el segundo argumento.
•Si falta el argumento timezone, el resultado contendrá el uso horario implícito, es decir, el del sistema. Se añade el uso horario del sistema.
•Si el argumento timezone está vacío, está vacío, el resultado no contendrá el uso horario.
Si el primer argumento contiene un uso horario (por ejemplo, la fecha 2020-01-01+01:00 o la hora 14:00:00+01:00) hay tres posibilidades.
•Si está presente el argumento timezone, el resultado contendrá el uso horario especificado en el segundo argumento. El uso horario original es reemplazado por el del segundo argumento.
•Si falta el argumento timezone, el resultado contendrá el uso horario implícito, es decir, el del sistema. El uso horario original es reemplazado por el del sistema.
•Si el argumento timezone, está vacío, el resultado no contendrá el uso horario.
Extraer componentes de fechas y horas
Estas son las funciones para extraer valores numéricos como horas, minutos, días, meses, etc. de valores de fecha y hora:
•day-from-date
•day-from-dateTime
•hours-from-dateTime
•hours-from-time
•minutes-from-dateTime
•minutes-from-time
•month-from-date
•month-from-dateTime
•seconds-from-dateTime
•seconds-from-time
•timezone-from-date
•timezone-from-dateTime
•imezone-from-time
•year-from-date
•year-from-dateTime
Cada una de estas funciones extrae un componente en concreto de los valores xs:date, xs:time, xs:dateTime y xs:duration. El resultado puede ser xs:integer o xs:decimal.
Funciones From
Estas son las funciones para extraer componentes de hora de duraciones:
•days-from-duration
•hours-from-duration
•minutes-from-duration
•months-from-duration
•seconds-from-duration
•years-from-duration
La duración se puede indicar como xs:yearMonthDuration (para extraer años o meses) o como xs:dayTimeDuration (para extraer días, horas, minutos y segundos). Todas las funciones devuelven un resultado de tipo xs:integer excepto la función seconds-from-duration, que devuelve .xs:decimal.
Funciones Subtract
Estas son las funciones para sustraer valores de fecha y hora:
•subtract-dateTimes
•subtract-dates
•subtract-times
Cada una de estas funciones permite sustraer un valor de hora a otro y obtener un valor de duración como resultado.