adjust-time-to-timezone

Ajusta uma hora para um fuso horário, ou para nenhum

Descrição

A função fn:adjust-time-to-timezone se comporta de um jeito diferente conforme o valor $arg já tenha fuso horário ou não, e conforme o fuso informado.

O argumento $timezone é um xs:dayTimeDuration, por exemplo -PT5H para o horário padrão da costa leste dos EUA. Se $timezone for a sequência vazia, entende-se que o resultado deve ficar sem fuso. Se $timezone for omitido, vale o fuso implícito.

Se $arg ainda não tiver fuso, a hora fica igual, mas passa a ter o fuso indicado. Se $arg já tiver fuso, o valor é ajustado para o novo fuso.

Parâmetros

Descrição

arg:time()

a hora a ajustar

timezone:dateTime()

o fuso horário de destino

Exemplos

XPath

Resultado

adjust-time-to-timezone(xs:time('17:00:00'), xs:dayTimeDuration('-PT7H'))

17:00:00-07:00

adjust-time-to-timezone(xs:time('17:00:00-03:00'), xs:dayTimeDuration('-PT7H'))

13:00:00-07:00

adjust-time-to-timezone(xs:time('17:00:00'), ())

17:00:00

adjust-time-to-timezone(xs:time('17:00:00-03:00'), ())

17:00:00

adjust-time-to-timezone(xs:time('17:00:00'))

17:00:00-05:00

adjust-time-to-timezone(xs:time('17:00:00'), xs:dayTimeDuration('-PT20H'))

Error FODT0003

Os exemplos a seguir supõem um fuso horário implícito de -05:00:

XPath

Resultado

adjust-time-to-timezone(xs:time('17:00:00-03:00'))

15:00:00-05:00

adjust-time-to-timezone(xs:time('22:00:00-08:00'))

01:00:00-05:00

adjust-time-to-timezone(xs:time('01:00:00-02:00'))

22:00:00-05:00

Veja também