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 |