fn:adjust-dateTime-to-timezone 関数は、 xs:dateTime 値を特定の時間帯に調整するか、xs:dateTime 値から時間帯コンポーネントを 除去します。
>>-fn:adjust-dateTime-to-timezone(dateTime-value-+-----------------+-)->< '-,timezone-value-'
dateTime-value は xs:dateTime タイプであるか、空のシーケンスです。
timezone-value は、空シーケンスにするか、 -PT14H から PT14H (両端を含む) の範囲内の xs:dayTimeDuration タイプの単一値にすることが できます。この値は分数 (整数) であり、秒のコンポーネントにすることはできません。 timezone-value が指定されていない場合、デフォルト値は PT0H で、これは UTC を表します。
戻り値は、入力値のタイプに応じて xs:dateTime タイプの値か、空のシーケンスになります。 dateTime-value が空のシーケンスではない場合、戻り値は xs:dateTime タイプです。 戻される可能性のある戻り値を以下の表に示します。
dateTime-value | timezone-value | 戻り値 |
---|---|---|
時間帯コンポーネントを含む dateTime-value | 明示的な値、または値の指定なし (期間 PT0H) | dateTime-value は、timezone-value が表すタイム・ゾーンに調整されます。 戻り値には、timezone-value で表される時間帯コンポーネントが含まれます。 |
時間帯コンポーネント を含む dateTime-value | 空のシーケンス | 時間帯コンポーネントを含まない dateTime-value。 |
時間帯コンポーネントを含まない dateTime-value | 明示的な値、または値の指定なし (期間 PT0H) | 時間帯コンポーネントを含む dateTime-value。時間帯コンポーネントは、timezone-value で表される時間帯です。 日付コンポーネントと時間コンポーネントはタイム・ゾーンに調整されません。 |
時間帯コンポーネントを含まない dateTime-value | 空のシーケンス | dateTime-value。 |
空のシーケンス | 明示的な値、空のシーケンス、または値の指定なし | 空のシーケンス。 |
以下の例で、変数 $tz は、-10 時間の期間であり、xs:dayTimeDuration("-PT10H") として定義されます。
以下の関数は、 UTC-7 時間帯の 2009 年 3 月 7 日 午前 10 時の dateTime 値を -PT10H の time zone-value で指定された時間帯に 調整します。
fn:adjust-dateTime-to-timezone(xs:dateTime("2009-03-07T10:00:00-07:00"), $tz)
戻される dateTime 値は、2009-03-07T07:00:00-10:00 です。
以下の関数は、 2009 年 3 月 7 日 午前 10 時の dateTime 値を調整します。dateTime-value には 時間帯コンポーネントがないため、関数は -PT10H の timezone-value を 指定します。
fn:adjust-dateTime-to-timezone(xs:dateTime("2009-03-07T10:00:00"), $tz)
戻される dateTime は、2009-03-07T10:00:00-10:00 です。
以下の関数は、 UTC-7 時間帯の 2009 年 6 月 4 日 午前 10 時 の dateTime 値を 調整します。timezone-value が指定されない場合、 関数は、デフォルトの時間帯値である PT0H を使用します。
fn:adjust-dateTime-to-timezone(xs:dateTime("2009-06-04T10:00:00-07:00"))
戻される dateTime 値は、2009-06-04T17:00:00Z です。この値は UTC に調整された dateTime 値です。
以下の関数は、 UTC-7 時間帯の 2009 年 3 月 7 日 午前 10 時の dateTime 値から 時間帯コンポーネントを 除去します。timezone-value 値は、空シーケンス です。
fn:adjust-dateTime-to-timezone(xs:dateTime("2009-03-07T10:00:00-07:00"), ())
戻される dateTime 値は、2009-03-07T10:00:00 です。