Adjusts an xs:date
value to a specific timezone, or to no timezone at all;
the result is the date in the target timezone that contains the starting instant of the
supplied date.
fn:adjust-date-to-timezone
( $arg
as xs:date?
xs:date?
fn:adjust-date-to-timezone
( $arg
as xs:date?
,$timezone
as xs:dayTimeDuration?
xs:date?
If $timezone
is not specified, then the effective value of
$timezone
is the value of the implicit timezone in the dynamic
context.
If $arg
is the empty sequence, then the function returns the empty
sequence.
If $arg
does not have a timezone component and $timezone
is
the empty sequence, then the result is the value of $arg
.
If $arg
does not have a timezone component and $timezone
is
not the empty sequence, then the result is $arg
with $timezone
as the timezone component.
If $arg
has a timezone component and $timezone
is the empty
sequence, then the result is the local value of $arg
without its timezone
component.
If $arg
has a timezone component and $timezone
is not the
empty sequence, then the function returns the value of the expression:
Let $dt
be the value of fn:dateTime($arg,
xs:time('00:00:00'))
.
Let $adt
be the value of fn:adjust-dateTime-to-timezone($dt,
$timezone)
The function returns the value of xs:date($adt)
Assume the dynamic context provides an implicit timezone of -05:00
(-PT5H0M)
.
let $tz-10 := xs:dayTimeDuration("-PT10H")
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07"))
returns xs:date("2002-03-07-05:00")
.
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07-07:00"))
returns xs:date("2002-03-07-05:00")
.
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07"),
$tz-10)
returns xs:date("2002-03-07-10:00")
.
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07-07:00"),
$tz-10)
returns xs:date("2002-03-06-10:00")
.
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07"),
())
returns xs:date("2002-03-07")
.
The expression fn:adjust-date-to-timezone(xs:date("2002-03-07-07:00"),
())
returns xs:date("2002-03-07")
.
A dynamic error is raised if $timezone
is less than -PT14H
or greater than PT14H
or is not an
integral number of minutes.