Funciones XPath/XQuery: de fecha y hora

www.altova.com Expandir/Contraer todos Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Anexos > Funciones XSTL y XPath/XQuery > Funciones de extensión de Altova >

Funciones XPath/XQuery: de fecha y hora

Las funciones de extensión de fecha y hora de Altova se pueden usar en expresiones XPath y XQuery y permiten procesar datos almacenados en tipos de datos XML Schema de fecha y hora.

 

Nota sobre el nombre de las funciones y lenguajes

Puede utilizar todas las funciones de extensión de Altova en sus expresiones XPath/XQuery. Con ellas conseguirá funciones adicionales no disponibles en la biblioteca de funciones estándar de XPath, XQuery y XSLT.

En esta documentación el nombre de las funciones de extensión de Altova siempre termina con el sufijo [altova:] para evitar confundirlas con funciones de la biblioteca estándar. Por ejemplo: add-years-to-date [altova:].
Sin embargo, cuando las utilice en sus expresiones XPath/XQuery, no incluya ningún prefijo o sufijo en el nombre de la función. Por ejemplo: add-years-to-date(xs:date("2014-01-15"), 10).

 

Funciones XPath

(en expresiones XPath en XSLT):

XP1 XP2 XP3.1

Funciones XSLT

(en expresiones XPath en XSLT):

Xslt1 XSLT2 XSLT3

Funciones XQuery

(en expresiones XQuery en XQuery):

XQ1 XQ3.1

 

 

 

Haga clic para expandir/contraerFunciones agrupadas según su funcionalidad
Click to expand/collapseFunciones por orden alfabético

 

[ Subir ]

 

 

Agregar una duración a xs:dateTime     XP3.1 XQ3.1

Estas funciones sirven para agregar una duración a xs:dateTime y devuelven xs:dateTime. El tipo xs:dateTime tiene el formato SSAA-MM-DDThh:mm:ss.sss. Se trata de la concatenación de los formatos xs:date y xs:time separados por la letra T. Si quiere, puede usar un sufijo de zona horaria +01:00 (por ejemplo).

 

Haga clic para expandir/contraeradd-years-to-dateTime [altova:]

add-years-to-dateTime(FechaHora as xs:dateTime, Años as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en años un valor de fecha y hora. El segundo argumento es el número de años que se debe añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) devuelve 2024-01-15T14:00:00
add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -4) devuelve 2010-01-15T14:00:00

 

 

Haga clic para expandir/contraeradd-months-to-dateTime [altova:]

add-months-to-dateTime(FechaHora as xs:dateTime, Meses as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en meses a un valor de fecha y hora. El segundo argumento es el número de meses que se debe añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) devuelve 2014-11-15T14:00:00
add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -2) devuelve 2013-11-15T14:00:00

 

 

Haga clic para expandir/contraeradd-days-to-dateTime [altova:]

add-days-to-dateTime(FechaHora as xs:dateTime, Días as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en días a un valor de fecha y hora. El segundo argumento es el número de días que se deben añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) devuelve 2014-01-25T14:00:00
add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -8) devuelve 2014-01-07T14:00:00

 

 

Haga clic para expandir/contraeradd-hours-to-dateTime [altova:]

add-hours-to-dateTime(FechaHora as xs:dateTime, Horas as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en horas a un valor de fecha y hora. El segundo argumento es el número de horas que se deben añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), 10) devuelve 2014-01-15T23:00:00
add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), -8) devuelve 2014-01-15T05:00:00

 

 

Haga clic para expandir/contraeradd-minutes-to-dateTime [altova:]

add-minutes-to-dateTime(FechaHora as xs:dateTime, Minutos as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en minutos a un valor de fecha y hora. El segundo argumento es el número de minutos que se debe añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), 45) devuelve 2014-01-15T14:55:00
add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), -5) devuelve 2014-01-15T14:05:00

 

 

Haga clic para expandir/contraeradd-seconds-to-dateTime [altova:]

add-seconds-to-dateTime(FechaHora as xs:dateTime, Segundos as xs:integer) como xs:dateTime     XP3.1 XQ3.1

Añade una duración en segundos a un valor de fecha y hora. El segundo argumento es el número de segundos que se debe añadir al valor de fecha y hora dado como primer argumento. El resultado es de tipo xs:dateTime.

 

add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), 20) devuelve 2014-01-15T14:00:30
add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), -5) devuelve 2014-01-15T14:00:05

 

 

[ Subir ]

 

 

Recuperar duraciones y aplicarles formato     XP3.1 XQ3.1

Estas funciones añaden una duración a xs:date y devuelven xs:date. El tipo xs:date tiene el formato SSAA-MM-DD.

 

Clic para expandir/contraerformat-duration [altova:]

format-duration(Duración como xs:duration, Imagen como xs:string) como xs:string     XP3.1 XQ3.1

Aplica formato a una duración, que se suministra como primer argumento, en base a la cadena de imagen dada como segundo argumento. El resultado es una cadena de texto cuyo formato se ajusta a la cadena de imagen.

format-duration(xs:duration("P2DT2H53M11.7S"), "Días:[D01] Horas:[H01] Minutos:[m01] Segundos:[s01] Fracciones:[f0]") devuelve "Días:02 Horas:02 Minutos:53 Segundos:11 Fracciones:7"
format-duration(xs:duration("P3M2DT2H53M11.7S"), "Meses:[M01] Días:[D01] Horas:[H01] Minutos:[m01]") devuelve "Meses:03 Días:02 Horas:02 Minutos:53"

 

 

Clic para expandir/contraerparse-duration [altova:]

parse-duration(CadenaEntrada como xs:string, Imagen como xs:string) como xs:duration     XP3.1 XQ3.1

Toma una cadena con patrón como primer argumento y una cadena de imagen como segundo argumento. La cadena de entrada se analiza en base a la cadena de imagen y se devuelve un xs:duration.

parse-duration("Días:02 Horas:02 Minutos:53 Segundos:11 Fracciones:7"), "Días:[D01] Horas:[H01] Minutes:[m01] Segundos:[s01] Fracciones:[f0]") devuelve "P2DT2H53M11.7S"
parse-duration("Meses:03 Días:02 Horas:02 Minutos:53 Segundos:11 Fracciones:7", "Meses:[M01] Días:[D01] Horas:[H01] Minutos:[m01]") devuelve "P3M2DT2H53M"

 

 

[ Subir ]

 

Agregar una duración a xs:date     XP3.1 XQ3.1

Estas funciones agregan una duración a xs:date y devuelven xs:date. El tipo xs:date tiene el formato SSAA-MM-DD.

 

Haga clic para expandir/contraeradd-years-to-date [altova:]

add-years-to-date(Fecha as xs:date, Años as xs:integer) como xs:date     XP3.1 XQ3.1

Añade una duración en años a una fecha. El segundo parámetro es el número de años que se debe añadir a la fecha dada como primer argumento. El resultado es de tipo xs:date.

 

add-years-to-date(xs:date("2014-01-15"), 10) devuelve 2024-01-15
add-years-to-date(xs:date("2014-01-15"), -4) devuelve 2010-01-15

 

 

Haga clic para expandir/contraeradd-months-to-date [altova:]

add-months-to-date(Fecha as xs:date, Meses as xs:integer) como xs:date     XP3.1 XQ3.1

Añade una duración en meses a una fecha. El segundo argumento es el número de meses que se debe añadir a la fecha dada como primer argumento. El resultado es de tipo xs:date.

 

add-months-to-date(xs:date("2014-01-15"), 10) devuelve 2014-11-15
add-months-to-date(xs:date("2014-01-15"), -2) devuelve 2013-11-15

 

 

Haga clic para expandir/contraeradd-days-to-date [altova:]

add-days-to-date(Fecha as xs:date, Días as xs:integer) como xs:date     XP3.1 XQ3.1

Añade una duración en días a una fecha. El segundo argumento es el número de días que se deben añadir a la fecha dad como primer argumento. El resultado es de tipo xs:date.

 

add-days-to-date(xs:date("2014-01-15"), 10) devuelve 2014-01-25
add-days-to-date(xs:date("2014-01-15"), -8) devuelve 2014-01-07

 

 

[ Subir ]

 

Agregar una duración a xs:time     XP3.1 XQ3.1

Estas funciones agregan una duración a xs:time y devuelven xs:time. El tipo xs:time tiene un formato léxico de este tipo hh:mm:ss.sss. Si quiere, puede añadir un sufijo de zona horaria. La letra Z indica (UTC). Las demás zonas horarias se representan con la diferencia que hay entre ellas y la zona UTC: +hh:mm o -hh:mm. Si falta el valor de zona horaria, se entiende que se desconoce (no se da por hecho que es UTC)

 

Haga clic para expandir/contraeradd-hours-to-time [altova:]

add-hours-to-time(Hora as xs:time, Horas as xs:integer) como xs:time     XP3.1 XQ3.1

Añade una duración en horas a una hora. El segundo argumento es el número de horas que se debe añadir a la hora dada como primer argumento. El resultado es de tipo xs:time.

 

add-hours-to-time(xs:time("11:00:00"), 10) devuelve 21:00:00
add-hours-to-time(xs:time("11:00:00"), -7) devuelve 04:00:00

 

 

Haga clic para expandir/contraeradd-minutes-to-time [altova:]

add-minutes-to-time(Hora as xs:time, Minutos as xs:integer) como xs:time     XP3.1 XQ3.1

Añade una duración en minutos a una hora. El segundo argumento es el número de minutos que se debe añadir a la hora dada como primer argumento. El resultado es de tipo xs:time.

 

add-minutes-to-time(xs:time("14:10:00"), 45) devuelve 14:55:00
add-minutes-to-time(xs:time("14:10:00"), -5) devuelve 14:05:00

 

 

Haga clic para expandir/contraeradd-seconds-to-time [altova:]

add-seconds-to-time(Hora as xs:time, Segundos as xs:integer) como xs:time     XP3.1 XQ3.1

Añade una duración en segundos a una hora. El segundo argumento es el número de segundos que se debe añadir a la hora dada como primer argumento. El resultado es de tipo xs:time. El componente Segundos puede estar comprendido entre 0 y 59.999.

 

add-seconds-to-time(xs:time("14:00:00"), 20) devuelve 14:00:20
add-seconds-to-time(xs:time("14:00:00"), 20.895) devuelve 14:00:20.895

 

 

[ Subir ]

 

 

Quitar la parte de zona horaria de los tipos de datos date/time     XP3.1 XQ3.1

Estas funciones quitan la zona horaria de los valores xs:dateTime, xs:date o xs:time actuales. Tenga en cuenta que la diferencia entre xs:dateTime y xs:dateTimeStamp es que en esta última la parte de zona horaria es obligatoria (mientras que en la primera es opcional). Es decir, el formato de un valor xs:dateTimeStamp puede ser SSAA-MM-DDThh:mm:ss.sss±hh:mm o SSAA-MM-DDThh:mm:ss.sssZ. Si la fecha y la hora se leen del reloj del sistema como xs:dateTimeStamp, la función current-dateTime-no-TZ() se puede usar para quitar la zona horaria.

 

Haga clic para expandir/contraercurrent-date-no-TZ [altova:]

current-date-no-TZ() como xs:date     XP3.1 XQ3.1

Esta función no toma ningún argumento. Quita la parte de zona horaria de la función current-date() (que es la fecha actual según el reloj del sistema) y devuelve un valor de tipo xs:date.

 

Si la fecha actual es 2014-01-15+01:00:

 

current-date-no-TZ() devuelve 2014-01-15

 

 

Haga clic para expandir/contraercurrent-dateTime-no-TZ [altova:]

current-dateTime-no-TZ() como xs:dateTime     XP3.1 XQ3.1

Esta función no toma ningún argumento. Quita la parte de zona horaria de current-dateTime() (que es la fecha y hora actual según el reloj del sistema) y devuelve un valor de tipo xs:dateTime.

 

Si la fecha y hora actual es 2014-01-15T14:00:00+01:00:

 

current-dateTime-no-TZ() devuelve 2014-01-15T14:00:00

 

 

Haga clic para expandir/contraercurrent-time-no-TZ [altova:]

current-time-no-TZ() as xs:time     XP3.1 XQ3.1

Esta función no toma ningún argumento. Quita la parte de zona horaria de current-time() (que es la hora actual según el reloj del sistema) y devuelve un valor de tipo xs:time.

 

Si la hora actual es 14:00:00+01:00:

 

current-time-no-TZ() devuelve 14:00:00

 

 

Click to expand/collapsedate-no-TZ [altova:]

date-no-TZ(InputDate as xs:date) como xs:date     XP3.1 XQ3.1

Esta función toma un argumento xs:date, del que elimina la parte timezone y devuelve un valor xs:date. Observe que la fecha permanece intacta.

 

hmtoggle_plus0Ejemplos
date-no-TZ(xs:date("2014-01-15+01:00")) devuelve 2014-01-15

 

 

Click to expand/collapsedateTime-no-TZ [altova:]

dateTime-no-TZ(InputDateTime as xs:dateTime) como xs:dateTime     XP3.1 XQ3.1

Esta función toma un argumento xs:dateTime, del que elimina la parte timezone, y devuelve un valor xs:dateTime. Observe que tanto la fecha como la hora permanecen intactas.

 

hmtoggle_plus0Ejemplos
dateTime-no-TZ(xs:date("2014-01-15T14:00:00+01:00")) devuelve 2014-01-15T14:00:00

 

 

Haga clic para expandir/contraertime-no-TZ [altova:]

time-no-TZ(HoraEntrada como xs:time) como xs:time     XP3.1 XQ3.1

Esta función toma un argumento xs:time, quita la parte de la zona horaria y devuelve un valor xs:time. Tenga en cuenta que la hora no se modifica.

 

time-no-TZ(xs:time("14:00:00+01:00")) devuelve 14:00:00

 

 

[ Subir ]

 

Devolver el número de días, horas, minutos y segundos de duraciones     XP3.1 XQ3.1

Estas funciones devuelven el número de días en un mes y el número de horas, minutos y segundos de las duraciones correspondientes.

 

Click to expand/collapsedays-in-month [altova:]

days-in-month(Year as xs:integer, Month as xs:integer) como xs:integer     XP3.1 XQ3.1

Devuelve el número de días en el mes indicado. El mes se indica con los argumentos Year y Month.

 

hmtoggle_plus0Ejemplos
days-in-month(2018, 10) devuelve 31
days-in-month(2018,  2) devuelve 28
days-in-month(2020,  2) devuelve 29

 

 

Click to expand/collapsehours-from-dayTimeDuration-accumulated

hours-from-dayTimeDuration-accumulated(DayAndTime como xs:duration) como xs:integer     XP3.1 XQ3.1

Devuelve el número total de horas de la duración enviada por el argumento DayAndTime (que es de tipo xs:duration). Las horas de los componentes Day y Time se agregan juntos para dar como resultado un número entero. Una hora nueva son 60 minutos enteros. Las duraciones negativas dan como resultado un valor de hora negativo.

 

hmtoggle_plus0Ejemplos
hours-from-dayTimeDuration-accumulated(xs:duration("P5D") devuelve 120, que es el número total de horas en 5 días.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H") devuelve 122, que es el número total de horas en 5 días más 2 horas.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H60M") devuelve 123, que es el número total de horas en 5 días más 2 horas y 60 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H119M") devuelve 123, que es el número total de horas en 5 días más 2 horas y 119 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H120M") devuelve 124, que es el número total de horas en 5 días más 2 horas y 120 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("-P5DT2H") devuelve -122

 

 

Click to expand/collapseminutes-from-dayTimeDuration-accumulated

minutes-from-dayTimeDuration-accumulated(DayAndTime como xs:duration) como xs:integer     XP3.1 XQ3.1

Devuelve el número total de minutos de la duración enviada por el argumento DayAndTime (que es de tipo xs:duration). Los minutos de los componentes Day y Time se agregan juntos para dar como resultado un número entero. Las duraciones negativas dan como resultado un valor de minutos negativo.

 

hmtoggle_plus0Ejemplos
minutes-from-dayTimeDuration-accumulated(xs:duration("PT60M") devuelve 60
minutes-from-dayTimeDuration-accumulated(xs:duration("PT1H") devuelve 60, que es el número total de minutos en 1 hora.
minutes-from-dayTimeDuration-accumulated(xs:duration("PT1H40M") devuelve 100
minutes-from-dayTimeDuration-accumulated(xs:duration("P1D") devuelve 1440, que es el número total de minutos en 1 día.
minutes-from-dayTimeDuration-accumulated(xs:duration("-P1DT60M") devuelve -1500

 

 

Click to expand/collapseseconds-from-dayTimeDuration-accumulated

seconds-from-dayTimeDuration-accumulated(DayAndTime como xs:duration) como xs:integer     XP3.1 XQ3.1

Devuelve el número total de segundos de la duración enviada por el argumento DayAndTime (que es de tipo xs:duration). Los segundos de los componentes Day y Time se agregan juntos para dar como resultado un número entero. Las duraciones negativas dan como resultado un valor de segundos negativo.

 

hmtoggle_plus0Ejemplos
seconds-from-dayTimeDuration-accumulated(xs:duration("PT1M") devuelve 60, que es el número total de segundos en 1 minuto.
seconds-from-dayTimeDuration-accumulated(xs:duration("PT1H") devuelve 3600, que es el número total de segundos en 1 hora.
seconds-from-dayTimeDuration-accumulated(xs:duration("PT1H2M") devuelve 3720
seconds-from-dayTimeDuration-accumulated(xs:duration("P1D") devuelve 86400, que es el número total de segundos en 1 día.
seconds-from-dayTimeDuration-accumulated(xs:duration("-P1DT1M") devuelve -86460

 

 

 

Obtener el día de la semana de xs:dateTime o xs:date     XP3.1 XQ3.1

Estas funciones obtienen el día de la semana (como entero) de xs:dateTime o xs:date. Los días de la semana se numeran del 1 al 7 (usando el formato EE UU, es decir Domingo =1). En el formato europeo la semana empieza el lunes (es decir, Lunes=1). Para establecer el formato EE UU (Domingo=1) use el entero 0 allí donde se acepte un entero para indicar el formato.

 

 

Haga clic para expandir/contraerweekday-from-dateTime [altova:]

weekday-from-dateTime(FechaHora as xs:dateTime) como xs:integer     XP3.1 XQ3.1

Toma una fecha con hora como único argumento y devuelve el día de la semana de la fecha dada como número entero. Los días de la semana se numeran del 1 al 7 empezando por Domingo=1. Si necesita usar el formato europeo (donde Lunes=1), utilice la otra firma de esta función (ver más abajo).

 

weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00")) devuelve 2, lo cual significa "Lunes".

 

weekday-from-dateTime(DateTime as xs:dateTime, Formato as xs:integer) como xs:integer     XP3.1 XQ3.1

Toma una fecha con hora como primer argumento y devuelve el día de la semana de la fecha dada como número entero. Los días de la semana se numeran del 1 al 7 empezando por Lunes=1. Si el segundo argumento (Formato) es 0, entonces los días de la semana se numeran del 1 al 7 empezando por Domingo=1. Si el segundo argumento es un entero distinto de 0, entonces Lunes=1. Si falta el segundo argumento, la función se lee como en la firma anterior (ver más arriba).

 

weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 1) devuelve 1, lo cual significa "Lunes".
weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 4) devuelve 1, lo cual significa "Lunes".
weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 0) devuelve 2, lo cual significa "Lunes".

 

 

Haga clic para expandir/contraerweekday-from-date [altova:]

weekday-from-date(Fecha as xs:date) como xs:integer     XP3.1 XQ3.1

Toma una fecha como único argumento y devuelve el día de la semana de la fecha dada como número entero. Los días de la semana se numeran del 1 al 7 empezando por Domingo=1. Si necesita usar el formato europeo (donde Lunes=1), utilice la otra firma de esta función (ver más abajo).

 

weekday-from-date(xs:date("2014-02-03+01:00")) devuelve 2, lo cual significa "Lunes".

 

weekday-from-date(Fecha as xs:date, Formato as xs:integer) como xs:integer     XP3.1 XQ3.1

Toma una fecha como primer argumento y devuelve el día de la semana de la fecha dada como número entero. Los días de la semana se numeran del 1 al 7 empezando por Lunes=1. Si el segundo argumento (Formato) es 0, entonces los días de la semana se numeran del 1 al 7 empezando por Domingo=1. Si el segundo argumento es un entero distinto de 0, entonces Lunes=1. Si falta el segundo argumento, la función se lee como en la firma anterior (ver más arriba).

 

weekday-from-date(xs:date("2014-02-03"), 1) devuelve 1, lo cual significa "Lunes"
weekday-from-date(xs:date("2014-02-03"), 4) devuelve 1, lo cual significa "Lunes"
weekday-from-date(xs:date("2014-02-03"), 0) devuelve 2, lo cual significa "Lunes"

 

 

[ Subir ]

 

 

Devolver el número de semana de xs:dateTime o xs:date     XP2 XQ1 XP3.1 XQ3.1

Estas funciones devuelven el número de semana (como número entero) de xs:dateTime o xs:date. El número de la semana está disponible en el formato de calendario estadounidense, europeo e islámico. La razón de que los números de semana difieran en cada uno de estos calendarios es que en cada uno de ellos se considera un día diferente para el inicio de la semana (p. ej. en el formato estadounidense el primer día de la semana es el domingo).

 

Haga clic para expandir/contraerweeknumber-from-date [altova:]

weeknumber-from-date(Fecha como xs:date, Calendario como xs:integer) como xs:integer     XP2 XQ1 XP3.1 XQ3.1

Devuelve como número entero el número de semana del argumento Fecha dado. El segundo argumento (Calendario) indica el sistema de calendario que se debe seguir.

Estos son los valores permitidos para el argumento Calendario:

 

0 = Calendario estadounidense (la semana comienza el domingo)
1 = Calendario estándar ISO o europeo (la semana comienza el lunes)
2 = Calendario islámico (la semana comienza el sábado)

 

El valor predeterminado es 0.

 

weeknumber-from-date(xs:date("2014-03-23"), 0) devuelve 13
weeknumber-from-date(xs:date("2014-03-23"), 1) devuelve 12
weeknumber-from-date(xs:date("2014-03-23"), 2) devuelve 13
weeknumber-from-date(xs:date("2014-03-23")   ) devuelve 13

 

El día de la fecha de los ejemplos anteriores (2014-03-23) es un domingo. Por tanto, en este caso, el calendario estadounidense y el islámico van una semana por delante del calendario europeo.

 

 

Haga clic para expandir/contraerweeknumber-from-dateTime [altova:]

weeknumber-from-dateTime(FechaHora como xs:dateTime, Calendario como xs:integer) como xs:integer     XP2 XQ1 XP3.1 XQ3.1

Devuelve como entero el día de la semana del argumento FechaHora dado. El segundo argumento (Calendario) indica el sistema de calendario que se debe seguir.

Estos son los valores permitidos para el argumento Calendario:

 

0 = Calendario estadounidense (la semana comienza el domingo)
1 = Calendario estándar ISO o europeo (la semana comienza el lunes)
2 = Calendario islámico (la semana comienza el sábado)

 

El valor predeterminado es 0.

 

weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 0) devuelve 13
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 1) devuelve 12
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 2) devuelve 13
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00")   ) devuelve 13

 

El día de dateTime de los ejemplos anteriores (2014-03-23T00:00:00) es un domingo. Por tanto, en este caso, el calendario estadounidense y el islámico van una semana por delante del calendario europeo.

 

 

[ Subir ]

 

Generar tipos de datos de fecha, hora y duración a partir de sus componentes léxicos     XP3.1 XQ3.1

Estas funciones toman los componentes léxicos de los tipos de datos xs:date, xs:time y xs:duration como argumentos de entrada y los combinan para generar el tipo de datos correspondiente.

 

Haga clic para expandir/contraerbuild-date [altova:]

build-date(Año as xs:integerMes as xs:integerFecha as xs:integer) como xs:date     XP3.1 XQ3.1

Los argumentos son el año, el mes y la fecha respectivamente. Se combinan para generar un valor de tipo xs:date. Los valores de los enteros deben estar en el intervalo de esa fecha en particular. Por ejemplo, el segundo argumento (para el mes) no puede ser mayor que 12.

 

build-date(2014, 2, 03) devuelve 2014-02-03

 

 

Haga clic para expandir/contraerbuild-time [altova:]

build-time(Horas as xs:integerMinutos as xs:integerSegundos as xs:integer) como xs:time     XP3.1 XQ3.1

El primer, segundo y tercer argumentos son la hora (0 - 23), los minutos (0 - 59) y los segundos (0 - 59) respectivamente. Se combinan para generar un valor de tipo xs:time. Los valores de los enteros deben estar dentro del intervalo correcto de esa parte de tiempo concreta. Por ejemplo, el segundo argumento (Minutos) no puede ser mayor que 59. Para añadir la parte de uso horario al valor, use la firma que aparece más abajo.

 

build-time(23, 4, 57) devuelve 23:04:57

 

Haga clic para expandir/contraerbuild-duration [altova:]

build-duration(Años as xs:integerMeses as xs:integer) como xs:yearMonthDuration     XP3.1 XQ3.1

Toma dos argumentos para generar un valor de tipo xs:yearMonthDuration. El primer argumento da la parte Years del valor de duración, mientras que el segundo da la parte Months. Si el segundo (Months) es mayor o igual que 12, el entero se divide por 12. El cociente se añade al primer argumento para aportar la parte Years del valor de duración, mientras que el resto (de la división) da la parte Months. Para generar una duración de tipo xs:dayTimeDuration, consulte la firma siguiente.

 

build-duration(2, 10) devuelve P2Y10M
build-duration(14, 27) devuelve P16Y3M
build-duration(2, 24) devuelve P4Y

 

build-duration(Días as xs:integerHoras as xs:integerMinutos as xs:integerSegundos as xs:integer) como xs:dayTimeDuration     XP3.1 XQ3.1

Toma cuatro argumentos y los combina para generar un valor de tipo xs:dayTimeDuration. El primer argumento da la parte Days del valor de duración, el segundo, el tercero y el cuarto dan las partes Hours, Minutes y Seconds respectivamente. Los tres argumentos de tiempo se convierten a un valor equivalente en cuanto a la unidad mayor siguiente y el resultado se utiliza para calcular el valor total de la duración. Por ejemplo, 72 segundos se convierte en 1M+12S (1 minuto y 12 segundos) y este valor se usa para calcular el valor total de la duración. Para generar una duración de tipo xs:yearMonthDuration, consulte la firma anterior.

 

build-duration(2, 10, 3, 56) devuelve P2DT10H3M56S
build-duration(1, 0, 100, 0) devuelve P1DT1H40M
build-duration(1, 0, 0, 3600) devuelve P1DT1H

 

 

[ Subir ]

 

 

Construir tipos de datos date, dateTime y time a partir de una cadena de entrada     XP2 XQ1 XP3.1 XQ3.1

Estas funciones toman cadenas como argumentos y construyen tipos de datos xs:date, xs:dateTime o xs:time. La cadena de entrada se analiza para los componentes del tipo de datos en función del argumento patrón dado.

 

Haga clic para expandir/contraerparse-date [altova:]

parse-date(Fecha como xs:string, PatrónFecha como xs:string) como xs:date     XP2 XQ1 XP3.1 XQ3.1

Devuelve la cadena de entrada Fecha como valor xs:date. El segundo argumento (PatrónFecha) indica el patrón (secuencia de componentes) de la cadena de entrada. El argumento PatrónFecha se describe con los especificadores que aparecen a continuación y con cualquier separador de componentes (consulte los ejemplos más abajo).

 

D

Día

M

Mes

Y

Año

 

El patrón PatrónFecha debe coincidir con el patrón de Fecha. Como el resultado es de tipo xs:date, el resultado siempre tendrá el formato léxico YYYY-MM-DD.

 

parse-date(xs:string("09-12-2014"), "[D]-[M]-[Y]") devuelve 2014-12-09
parse-date(xs:string("09-12-2014"), "[M]-[D]-[Y]") devuelve 2014-09-12
parse-date("06/03/2014", "[M]/[D]/[Y]") devuelve 2014-06-03
parse-date("06 03 2014", "[M] [D] [Y]") devuelve 2014-06-03
parse-date("6 3 2014", "[M] [D] [Y]") devuelve 2014-06-03

 

 

Haga clic para expandir/contraerparse-dateTime [altova:]

parse-dateTime(FechaHora como xs:string, PatrónFechaHora como xs:string) como xs:dateTime     XP2 XQ1 XP3.1 XQ3.1

Devuelve la cadena de entrada FechaHora como valor xs:dateTime. El segundo argumento (PatrónFechaHora) indica el patrón (secuencia de componentes) de la cadena de entrada. El argumento PatrónFechaHora se describe con los especificadores que aparecen a continuación y con cualquier separador de componentes (consulte los ejemplos más abajo).

 

D

Día

M

Mes

Y

Año

H

Hora

m

minutos

s

segundos

 

El patrón PatrónFechaHora debe coincidir con el patrón de FechaHora. Como el resultado es de tipo xs:dateTime, el resultado siempre tendrá el formato léxico YYYY-MM-DDTHH:mm:ss.

 

parse-dateTime(xs:string("09-12-2014 13:56:24"), "[M]-[D]-[Y] [H]:[m]:[s]") devuelve 2014-09-12T13:56:24
parse-dateTime("time=13:56:24; date=09-12-2014", "time=[H]:[m]:[s]; date=[D]-[M]-[Y]") devuelve 2014-12-09T13:56:24

 

 

Haga clic para expandir/contraerparse-time [altova:]

parse-time(Hora como xs:string, PatrónHora como xs:string) como xs:time     XP2 XQ1 XP3.1 XQ3.1

Devuelve la cadena de entrada Hora como valor xs:time. El segundo argumento (PatrónHora) indica el patrón (secuencia de componentes) de la cadena de entrada. El argumento PatrónHora se describe con los especificadores que aparecen a continuación y con cualquier separador de componentes (consulte los ejemplos más abajo).

 

H

Hora

m

minutos

s

segundos

 

El patrón PatrónHora debe coincidir con el patrón de Hora. Como el resultado es de tipo xs:time, el resultado siempre tendrá el formato léxico HH:mm:ss.

 

parse-time(xs:string("13:56:24"), "[H]:[m]:[s]") devuelve 13:56:24
parse-time("13-56-24", "[H]-[m]") devuelve 13:56:00
parse-time("time=13h56m24s", "time=[H]h[m]m[s]s") devuelve 13:56:24
parse-time("time=24s56m13h", "time=[s]s[m]m[H]h") devuelve 13:56:24

 

 

[ Subir ]

 

 

 

Funciones para calcular la edad     XP3.1 XQ3.1

Estas funciones devuelven la edad que se calcula obteniendo la diferencia (i) entre la fecha del argumento de entrada y la fecha actual o (ii) entre las fechas de los dos argumentos de entrada. La función age devuelve la edad en años, mientras que la función age-details devuelve la edad en forma de una secuencia de tres enteros (años, meses y días).

 

Haga clic para expandir/contraerage [altova:]

age(FechaInicio as xs:date) como xs:integer     XP3.1 XQ3.1

Devuelve un entero que es la edad en años de algún objeto, contando a partir de la fecha de inicio dada como argumento y hasta la fecha actual (tomada del reloj del sistema). Si el argumento de entrada es un año o más después que la fecha actual, el valor devuelto será negativo.

 

Si la fecha actual es 2014-01-15:

 

age(xs:date("2013-01-15")) devuelve 1
age(xs:date("2013-01-16")) devuelve 0
age(xs:date("2015-01-15")) devuelve -1
age(xs:date("2015-01-14")) devuelve 0

 

age(FechaInicio as xs:dateFechaFinal as xs:date) como xs:integer     XP3.1 XQ3.1

Devuelve un entero que es la edad en años de algún objeto, contando a partir de la fecha de inicio dada como primer argumento y hasta la fecha dada como segundo argumento. El valor devuelto será negativo si el primer argumento es un año o más después que el segundo argumento.

 

age(xs:date("2000-01-15"), xs:date("2010-01-15")) devuelve 10
age(xs:date("2000-01-15"), current-date()) devuelve 14 si la fecha actual es 2014-01-15
age(xs:date("2014-01-15"), xs:date("2010-01-15")) devuelve -4

 

 

Haga clic para expandir/contraerage-details [altova:]

age-details(FechaEntrada as xs:date) como (xs:integer)*     XP3.1 XQ3.1

Devuelve tres enteros que son los años, meses y días respectivamente que hay entre la fecha dada como argumento y la fecha actual (tomada del reloj del sistema). La suma del valor devuelto nos da el tiempo total transcurrido entre ambas fechas (entre la fecha dada y la fecha actual). La fecha de entrada puede tener un valor anterior o posterior a la fecha actual, pero esto no se indica en el valor devuelto por medio de un signo negativo o positivo. El valor devuelto siempre es positivo.

 

Si la fecha actual es 2014-01-15:

 

age-details(xs:date("2014-01-16")) devuelve (0 0 1)
age-details(xs:date("2014-01-14")) devuelve (0 0 1)
age-details(xs:date("2013-01-16")) devuelve (1 0 1)
age-details(current-date()) devuelve (0 0 0

 

age-details(Fecha1 as xs:dateFecha2 as xs:date) como (xs:integer)*     XP3.1 XQ3.1

Devuelve tres enteros que son los años, meses y días que hay entre las dos fechas dadas por los argumentos. La suma del valor devuelto nos da el tiempo total transcurrido entre las dos fechas de entrada. Da igual cuál de las dos fechas se da como primer argumento, la más antigua o la más reciente. El valor devuelto no indica si la fecha de entrada es anterior o posterior a la fecha actual. Es decir, el valor devuelto siempre es positivo.

 

age-details(xs:date("2014-01-16"), xs:date("2014-01-15")) devuelve (0 0 1)
age-details(xs:date("2014-01-15"), xs:date("2014-01-16")) devuelve (0 0 1)

 

 

[ Subir ]

 


© 2019 Altova GmbH