fn:adjust-dateTime-to-timezone 関数

fn:adjust-dateTime-to-timezone 関数は、 xs:dateTime 値を特定の時間帯に調整するか、xs:dateTime 値から時間帯コンポーネントを 除去します。

構文

構文図を読む構文図をスキップする
>>-fn:adjust-dateTime-to-timezone(dateTime-value-+-----------------+-)-><
                                                 '-,timezone-value-'     

dateTime-value
調整対象の dateTime 値。

dateTime-value は xs:dateTime タイプであるか、空のシーケンスです。

timezone-value
dateTime-value が調整されるタイム・ゾーンを表す期間です。

timezone-value は、空シーケンスにするか、 -PT14H から PT14H (両端を含む) の範囲内の xs:dayTimeDuration タイプの単一値にすることが できます。この値は分数 (整数) であり、秒のコンポーネントにすることはできません。 timezone-value が指定されていない場合、デフォルト値は PT0H で、これは UTC を表します。

戻り値

戻り値は、入力値のタイプに応じて xs:dateTime タイプの値か、空のシーケンスになります。 dateTime-value が空のシーケンスではない場合、戻り値は xs:dateTime タイプです。 戻される可能性のある戻り値を以下の表に示します。

表 1. fn:adjust-dateTime-to-timezone の入力値および戻り値の タイプ
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 です。