adjust-date-to-timezone

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

Descrição

A função fn:adjust-date-to-timezone se comporta de um jeito diferente conforme a data $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.

Para o cálculo do fuso, a data $arg é tratada como um xs:dateTime com hora meia-noite (00:00:00). Se $arg ainda não tiver fuso, a data 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:date()

a data a ajustar

timezone:dateTime()

o fuso horário de destino

Exemplos

XPath

Resultado

adjust-date-to-timezone(xs:date('2006-02-15'), xs:dayTimeDuration('-PT8H'))

2006-02-15-08:00

adjust-date-to-timezone(xs:date('2006-02-15-03:00'), xs:dayTimeDuration('-PT8H'))

2006-02-14-08:00

adjust-date-to-timezone(xs:date('2006-02-15'), ())

2006-02-15

adjust-date-to-timezone(xs:date('2006-02-15-03:00'), ())

2006-02-15

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

XPath

Resultado

adjust-date-to-timezone(xs:date('2006-02-15'))

2006-02-15-05:00

adjust-date-to-timezone(xs:date('2006-02-15-03:00'))

2006-02-14-05:00

Veja também