XQuery リファレンス

     前  次    目次     
ここから内容

XQuery 日付関数リファレンス

この章では、WebLogic Workshop のマッパー機能で使用できる XQuery 日付関数について説明します。マッパー機能を使用してクエリを生成し、クエリを編集して、提供されている XQuery 関数への呼び出しを追加します。詳細については、クエリ内での関数または演算子の呼び出しを参照してください。

マッパー機能で使用できる XQuery 関数および演算子以外にも、数多くの追加の関数および演算子が用意されています。マッパー機能のソース ビューを使用すると、これらの関数および演算子の呼び出しを手動でクエリに追加できます。追加の関数と演算子のリストについては、次の URL にある W3C Web サイトで、 XQuery 1.0 and XPath 2.0 Functions and Operators - W3C Working Draft 16 August 2002 を参照してください。

http://www.w3.org/TR/2002/WD-xquery-operators-20020816

この節では、マッパー機能で使用できる日付関数のリストを示します。

 


xf: get-year-from-dateTime

$dateTime-var から年を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-year-from-dateTime(xs: dateTime?$dateTime-var) —> xs: integer?

表 9-1 引数
データ型
引数
説明
xs:date Time
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した年を整数として返します。

単純な例

次のクエリを呼び出します。

<year>{xf:get-year-from-dateTime("2002-08-30T22:21:01")}</year>

上のクエリからは、次の結果が生成されます。

<year>2002</year>

関連トピック

W3C の get-year-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-month-from-dateTime

$dateTime-var から月を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-month-from-dateTime(xs: dateTime? $dateTime-var) —>xs: integer?

表 9-2 引数
データ型
引数
説明
xs: dateTime?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した月を整数として返します。

単純な例

次のクエリを呼び出します。

<month>{xf:get-month-from-dateTime("2002-08-30T22:21:01")}</month>

上のクエリからは、次の結果が生成されます。

<month>8</month>

関連トピック

W3C の get-month-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-day-from-dateTime

$dateTime-var から日を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-day-from-dateTime(xs: dateTime $dateTime-var) —> xs:integer?

表 9-3 引数
データ型
引数
説明
xs: dateTime?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した日を整数として返します。

単純な例

次のクエリを呼び出します。

<day>{xf:get-day-from-dateTime("2002-08-30T22:21:01")}</day>

上のクエリからは、次の結果が生成されます。

<day>30</day>

関連トピック

W3C の get-day-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-hours-from-dateTime

$dateTime-var から時間を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-hours-from-dateTime(xs: dateTime?$dateTime-var) —> xs: integer?

表 9-4 引数
データ型
引数
説明
xs:date Time?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した時間を整数として返します。

単純な例

次のクエリを呼び出します。

<hours>{xf:get-hours-from-dateTime("2002-08-30T22:21:01")}</hours>

上のクエリからは、次の結果が生成されます。

<hours>22</hours>

タイム ゾーンを指定する場合

次は、タイム ゾーンを指定する場合の get-hours-from-dateTime 関数の使用例です。

<hours>{xf:get-hours-from-dateTime("2002-08-30T14:21:01-05:00")}</hours>

上のクエリからは、次の結果が生成されます。

<hours>19</hours>

上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。時間は協定世界時 (UTC) で報告されるため、東部標準タイム ゾーンの 14 時に 5 時間が加算されます。その結果、協定世界時 (UTC) では 19 時になります。

関連トピック

W3C の get-hours-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-minutes-from-dateTime

$dateTime-var から分を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-minutes-from-dateTime(xs: dateTime?$dateTime-var) —> xs: integer?

表 9-5 引数
データ型
引数
説明
xs:date Time?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した分を整数として返します。

単純な例

次のクエリを呼び出します。

<minutes>{xf:get-minutes-from-dateTime("2002-08-30T22:21:01")}</minutes>

上のクエリからは、次の結果が生成されます。

<minutes>21</minutes>

関連トピック

W3C の get-minutes-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-seconds-from-dateTime

$dateTime-var から秒を抽出します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-seconds-from-dateTime(xs: dateTime? $dateTime-var) —> xs:xs: decimal?

表 9-6 引数
データ型
引数
説明
xs:date Time?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した秒を 10 進数として返します。

単純な例

次のクエリを呼び出します。

<seconds>{xf:get-seconds-from-dateTime("2002-08-30T22:21:01")}</seconds>

上のクエリからは、次の結果が生成されます。

<seconds>1</seconds>

関連トピック

W3C の get-seconds-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-timezone-from-dateTime

$dateTime-var から現在のタイム ゾーンを抽出し、文字列として返します。

$dateTime-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します。

$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-timezone-from-dateTime(xs: dateTime? $dateTime-var) —> xs: string ?

表 9-7 引数
データ型
引数
説明
xs:date Time?
$dateTime-var
日付と時刻の表現を含みます。

戻り値

$dateTime-var から抽出した現在のタイム ゾーンを文字列として返します。

$dateTime-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-dateTime 関数の使用例です。

<tz>{xf:get-timezone-from-dateTime("2002-08-30T14:21:01-05:00")}</tz>

上のクエリからは、次の結果が生成されます。

<tz>-05:00</tz>

上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。

UTC タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-dateTime 関数の使用例です。

<tz>{xf:get-timezone-from-dateTime("2002-08-30T14:21:01Z")}</tz>

上のクエリからは、次の結果が生成されます。

<tz>00:00</tz>

この例の Z は、協定世界時 (UTC) の時刻を意味しているので、タイム ゾーンは報告されません。

タイム ゾーンが指定されていない場合

次は、タイム ゾーンが指定されていない場合の get-timezone-from-dateTime 関数の使用例です。

<tz>{xf:get-timezone-from-dateTime("2002-08-30T22:21:01")}</tz>

上のクエリからは、次の結果が生成されます。

<tz/>

関連トピック

W3C の get-timezone-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

 


xf: get-year-from-date

$date-var から年を抽出します。

$date-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-year-from-date(xs: date? $date-var) —> xs: integer?

表 9-8 引数
データ型
引数
説明
xs:date?
$date-var
日付の表現を含みます。

戻り値

$date-var から抽出した年を整数として返します。

単純な例

次のクエリを呼び出します。

<year>{xf:get-year-from-date("2002-08-30")}</year>

上のクエリからは、次の結果が生成されます。

<year>2002</year>

関連トピック

W3C の get-year-from-date 関数の説明。

W3C の date データ型の説明。

 


xf: get-month-from-date

$date-var から月を抽出します。

$date-var の値が空のシーケンスである場合は、空のシーケンスを返します。 空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-month-from-date(xs: date? $date-var) —> xs: integer?

表 9-9 引数
データ型
引数
説明
xs:date?
$date-var
日付の表現を含みます。

戻り値

$date-var から抽出した月を整数として返します。

単純な例

次のクエリを呼び出します。

<month>{get-month-from-date("2002-08-30")}</month>

上のクエリからは、次の結果が生成されます。

<month>8</month>

関連トピック

W3C の get-month-from-date 関数の説明。

W3C の date データ型の説明。

 


xf: get-day-from-date

$date-var から日を抽出します。

$date-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-day-from-date(xs: date? $date-var) —>xs: integer?

表 9-10 引数
データ型
引数
説明
xs:date?
$date-var
日付の表現を含みます。

戻り値

$date-var から抽出した日を整数として返します。

単純な例

次のクエリを呼び出します。

<day>{xf:get-day-from-date("2002-08-30")}</day>

上のクエリからは、次の結果が生成されます。

<day>30</day>

関連トピック

W3C の get-day-from-date 関数の説明。

W3C の date データ型の説明。

 


xf: get-timezone-from-date

$date-var から現在のタイム ゾーンを抽出します。

$date-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します。

$date-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-timezone-from-date(xs: date?$date-var) —>xs: string ?

表 9-11 引数
データ型
引数
説明
xs: date?
$date-var
日付の表現を含みます。

戻り値

$date-var から抽出した現在のタイム ゾーンを文字列として返します。

$date-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-date 関数の使用例です。

<tz>{xf:get-timezone-from-date(xs:date("2002-08-30-05:00"))}</tz>

上のクエリからは、次の結果が生成されます。

<tz>-05:00</tz>

上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。

UTC タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-date 関数の使用例です。

<tz>{xf:get-timezone-from-date(xs:date("2002-08-30Z"))}</tz>

上のクエリからは、次の結果が生成されます。

<tz>00:00</tz>

上のクエリの Z は、協定世界時 (UTC) の時刻を意味しているので、タイム ゾーンは報告されません。

タイム ゾーンが指定されていない場合

次は、タイム ゾーンが指定されていない場合の get-timezone-from-date 関数の使用例です。

<tz>{xf:get-timezone-from-date(xs:date("2002-08-30"))}</tz>

上のクエリからは、次の結果が生成されます。

<tz/>

関連トピック

W3C の get-timezone-from-date 関数の説明。

W3C の date データ型の説明。

 


xf: get-hours-from-time

$time-var から時間を抽出します。

$time-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-hours-from-time(xs: time? $time-var) —>xs: integer?

表 9-12 引数
データ型
引数
説明
xs: time?
$time-var
時刻の表現を含みます。

戻り値

$time-var から抽出した時間を整数として返します。

単純な例

次は、get-hours-from-time 関数の単純な使用例です。

<hours>{xf:get-hours-from-time("22:21:01")}</hours>

上のクエリからは、次の結果が生成されます。

<hours>22</hours>

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-hours-from-time 関数の使用例です。

<hours>{xf:get-hours-from-time("14:21:01-05:00")}</hours>

上のクエリからは、次の結果が生成されます。

<hours>19</hours>

上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。時間は協定世界時 (UTC) で報告されるため、東部標準タイム ゾーンの 14 時に 5 時間が加算されます。その結果、協定世界時 (UTC) では 19 時になります。

関連トピック

W3C の get-hours-from-time 関数の説明。

W3C の time データ型の説明。

 


xf: get-minutes-from-time

$time-var から分を抽出します。

$time-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-minutes-from-time(xs: time? $time-var) —> xs: integer?

表 9-13 引数
データ型
引数
説明
xs: time?
$time-var
時刻の表現を含みます。

戻り値

$time-var から抽出した分を整数として返します。

単純な例

次は、get-minutes-from-time 関数の単純な使用例です。

<minutes>{xf:get-minutes-from-time("22:21:01")}</minutes>

上のクエリからは、次の結果が生成されます。

<minutes>21</minutes>

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指されている場合の get-minutes-from-time function 関数の使用例です。

<minutes>{xf:get-minutes-from-time("14:21:01-05:00")}</minutes>

上のクエリからは、次の結果が生成されます。

<minutes>21</minutes>

関連トピック

W3C の get-minutes-from-time 関数の説明。

W3C の time データ型の説明。

 


xf: get-seconds-from-time

$time-var から秒を抽出します。

$time-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-seconds-from-time(xs: time?$time-var) —> xs: decimal ?

表 9-14 引数
データ型
引数
説明
xs:time?
$time-var
時刻の表現を含みます。

戻り値

$time-var から抽出した秒を 10 進数として返します。

単純な例

次は、get-hours-from-time 関数の単純な使用例です。

<seconds>{xf:get-seconds-from-time("22:21:01")}</seconds>

上のクエリからは、次の結果が生成されます。

<seconds>1</seconds>

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-seconds-from-time 関数の使用例です。

<seconds>{xf:get-seconds-from-time("14:21:01-05:00")}</seconds>

上のクエリからは、次の結果が生成されます。

<seconds>1</seconds>

関連トピック

W3C の get-seconds-from-time 関数の説明。

W3C の time データ型の説明。

 


xf: get-timezone-from-time

$time-var から現在のタイム ゾーンを抽出します。

$time-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します。

$time-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。

シグネチャ

xf:get-timezone-from-time(xs: time? $time-var) —>xs: string ?

表 9-15 引数
データ型
引数
説明
xs:time?
$time-var
日付と時刻の表現を含みます。

戻り値

$time-var から抽出した現在のタイム ゾーンを文字列として返します。

$time-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。

タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-time 関数の使用例です。

<tz>{xf:get-timezone-from-time(xs:time("14:21:01-05:00"))}</tz>

上のクエリからは、次の結果が生成されます。

<tz>-05:00</tz>

上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。

UTC タイム ゾーンが指定されている場合

次は、タイム ゾーンが指定されている場合の get-timezone-from-time 関数の使用例です。

<tz>{get-timezone-from-time(xs:time("14:21:01Z"))}</tz>

上のクエリからは、次の結果が生成されます。

<tz>00:00</tz>

上のクエリの Z は、協定世界時 (UTC) の時刻を意味しているので、タイム ゾーンは報告されません。

タイム ゾーンが指定されていない場合

次は、タイム ゾーンが指定されていない場合の get-timezone-from-time function 関数の使用例です。

<tz>{xf:get-timezone-from-time(xs:time("22:21:01"))}</tz>

$time-var にタイム ゾーンが含まれない場合は、空のシーケンスを返します。

関連トピック

W3C の get-timezone-from-time 関数の説明。

W3C の time データ型の説明。

 


xf: add-timezone-to-dateTime

dateTime 値にタイム ゾーンを追加します。dateTime 値に追加されるタイム ゾーンは、暗黙的なタイム ゾーン、または省略可能な引数 $dayTimeDuration-var として渡されるタイム ゾーンです。

注意 : 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。

以下の手順を実行することによって、dateTime 値にタイム ゾーンを追加します。

  1. 指定されている dateTime 値にすでにタイム ゾーンがある場合は、そのタイム ゾーンを dateTime 値から削除します。add-timezone-to-dateTime 関数の目的はタイム ゾーンのない dateTime 値にタイム ゾーンを追加することですから、ほとんどの場合、渡されている dateTime 値 (引数 $dateTime-var) にはタイム ゾーンはありません。そのため、前の例のように、この手順は無視されます。
  2. 省略可能な引数 $dayTimeDuration-var または暗黙的な時間で指定されたタイム ゾーンを dateTime 値 (引数 $dateTime-var) に追加します。
  3. 前の手順で生成された新しい dateTime 値を協定世界時 (UTC) タイム ゾーン値に変換します
シグネチャ

xf:add-timezone-to-dateTime(xs: dateTime $dateTime-var) —>xs: date Time

xf:add-timezone-to-dateTime(xs: date Time $dateTime-var, xf: dayTimeDuration, $dayTimeDuration-var) —> xs: date Time

表 9-16 引数
データ型
引数
説明
xs: date Time
$dateTime-var
日付と時刻の表現を含みます。
xf:day TimeDuration
$dayTimeDuration-var
$dateTime-var に追加するタイム ゾーン (省略可能、指定しない場合は暗黙的なタイム ゾーンが使用されます)。

戻り値

タイム ゾーンのある dateTime を返します。

$dateTime-var にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var が指定されていない場合は、渡された日付と時刻を変換せずに返します。

指定したタイム ゾーンを dateTime 値に追加する

次の例では、指定したタイム ゾーンを、指定した dateTime 値に追加します。この例で指定する dateTime 値 2002-12-06T12:00:00 には、関連付けられているタイム ゾーンはありません。

xf:add-timezone-to-dateTime(xs:dateTime("2002-12-06T12:00:00", dayTimeDuration("-PT7H"))) を呼び出して、指定したタイム ゾーンを、指定した dateTime 値に追加すると、次の内部変換手順が実行されます。

  1. この例では、day TimeDuration の文字列 -PT7H としてタイム ゾーンを指定しています (-PT7H は、太平洋夏時間 (PST) タイム ゾーン (-07:00) です)。指定したタイム ゾーン -07:00 は指定した dateTime 値 2002-12-06T12:00:00 に追加され、内部の dateTime 値は 2002-12-06T12:00:00-07:00 になります。
  2. この新しい dateTime 値 2002-12-06T19:00:00-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、dateTime 値 2002-12-06T19:00:00Z になります。

let $dateTimeWithNoTimezone := xs:dateTime("2002-12-06T12:00:00")

return

<result>

<dateTimeWithNoTimezone>{$dateTimeWithNoTimezone}</dateTimeWithNoTimezone>

<dateTimeWithTimeZoneAdded>{ xf:add-timezone-to-dateTime(xs:dateTime($dateTimeWithNoTimezone),

xf:dayTimeDuration("-PT7H")) }</dateTimeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateTimeWithNoTimezone>2002-12-06T12:00:00</dateTimeWithNoTimezone>

<dateTimeWithTimeZoneAdded>2002-12-06T19:00:00Z</dateTimeWithTimeZoneAdded>

</result>

注意 : 2002-12-06T19:00:00Z の最後の Z は、dateTime 値が UTC 時刻であることを示します。
暗黙的なタイム ゾーンを dateTime 値に追加する

次の例では、暗黙的なタイム ゾーンを、指定した dateTime 値に追加します。この例で指定する dateTime 値 2002-12-06T12:00:00 には、関連付けられているタイム ゾーンはありません。

この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。

xf:add-timezone-to-dateTime(xs:dateTime("2002-12-06T12:00:00")) を呼び出して、指定した dateTime 値に暗黙的なタイム ゾーンを追加すると、次の内部変換手順が実行されます。

  1. 暗黙的なタイム ゾーン -07:00 は指定した dateTime 値 2002-12-06T12:00:00 に追加され、内部の dateTime 値は 2002-12-06T12:00:00-07:00 になります。
  2. この新しい dateTime 値 2002-12-06T19:00:00-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、dateTime 値 2002-12-06T19:00:00Z になります。

let $dateTimeWithNoTimezone := xs:dateTime("2002-12-06T12:00:00")

return

<result>

<dateTimeWithNoTimezone>{$dateTimeWithNoTimezone}</dateTimeWithNoTimezone>

<dateTimeWithTimeZoneAdded>{ xf:add-timezone-to-dateTime(xs:dateTime($dateTimeWithNoTimezone)) }

</dateTimeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateTimeWithNoTimezone>2002-12-06T12:00:00</dateTimeWithNoTimezone>

<dateTimeWithTimeZoneAdded>2002-12-06T19:00:00Z</dateTimeWithTimeZoneAdded>

</result>

注意 : 2002-12-06T19:00:00Z の最後の Z は、dateTime 値が UTC 時刻であることを示します。
注意 : マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。
関連トピック

W3C の add-timezone-to-dateTime 関数の説明。

W3C の dateTime データ型の説明。

W3C の dayTimeDuration 演算子の説明。

 


xf: remove-timezone-from-dateTime

dateTime 値からタイム ゾーンを削除します。タイム ゾーンのある dateTime 値の場合は、暗黙的なタイム ゾーンまたは引数 $dayTimeDuration-var で指定されたタイム ゾーンのいずれかにローカライズしてから、タイム ゾーン インジケータを削除します。

指定された dateTime 値に関連付けられているタイム ゾーンがない場合は、dateTime 値に暗黙的なタイム ゾーンを追加してから、上記で説明したローカライズを行います remove-timezone-to-dateTime 関数の目的はタイム ゾーンのある dateTime 値からタイム ゾーンを削除することですから、ほとんどの場合、渡されている dateTime 値 (引数 $dateTime-var) にはタイム ゾーンがあります。そのため、前の例のように、この手順は無視されます。

注意 : 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。
シグネチャ

xf:remove-timezone-from-dateTime(xs: dateTime $dateTime-var) —> xs: dateTime

xf:remove-timezone-from-dateTime(xs: dateTime $dateTime-var, xf: dayTimeDuration, $dayTimeDuration-var) —> xs: dateTime

表 9-17 引数
データ型
引数
説明
xs:date Time
$dateTime-var
日付と時刻の表現を含みます。
xf: day Time Duration
$dayTimeDuration-var
$dateTime-var から削除するタイム ゾーン (省略可能、指定しない場合は暗黙的なタイム ゾーンが使用されます)。

戻り値

タイム ゾーンのない dateTime を返します。

$dateTime-var にタイム ゾーンが含まれず、省略可能な引数 $dayTimeDuration-var が指定されていない場合は、渡された日付と時刻を変換せずに返します。

指定したタイム ゾーンを dateTime 値から削除する

次の例では、指定した dateTime 値から、指定したタイム ゾーンを削除します。

この例で渡される dateTime 値 2002-12-06T12:00:00Z には、タイム ゾーン インジケータ Z で示される UTC タイム ゾーンが指定されています。

前のクエリで、タイム ゾーンは dayTimeDuration で文字列 -PT7H として指定しています (-PT7H は、太平洋夏時間 (PST) タイム ゾーン (-07:00) です)。

次のクエリ例のように、UTC タイム ゾーンが指定された dateTime 値 2002-12-06T12:00:00Z は、渡されると PST タイム ゾーンにローカライズされ、タイム ゾーン インジケータ (Z) は削除されます。

let $dateTimeWithUTCTimezone := xs:dateTime("2002-12-06T12:00:00Z")

return

<result>

<dateTimeWithUTCTimezone>{$dateTimeWithUTCTimezone}</dateTimeWithUTCTimezone>

<dateTimeWithTimeZoneAdded>{ xf:remove-timezone-from-dateTime(xs:dateTime($dateTimeWithUTCTimezone,

xf:dayTimeDuration("-PT7H"))) }</dateTimeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateTimeWithUTCTimezone>2002-12-06T12:00:00Z</dateTimeWithUTCTimezone>

<dateTimeWithTimeZoneAdded>2002-12-06T05:00:00</dateTimeWithTimeZoneAdded>

</result>

暗黙的なタイム ゾーンを dateTime 値から削除する

次の例では、指定した dateTime 値から暗黙的なタイム ゾーンを削除します。この例で渡される dateTime 値 2002-12-06T12:00:00Z には、タイム ゾーン インジケータ Z で示される UTC タイム ゾーンが指定されています。

この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。

次のクエリ例のように、UTC タイム ゾーンが指定された dateTime 値 2002-12-06T12:00:00Z は、渡されると PST タイム ゾーンにローカライズされ、タイム ゾーン インジケータ (Z) は削除されます。

let $dateTimeWithUTCTimezone := xs:dateTime("2002-12-06T12:00:00Z")

return

<result>

<dateTimeWithUTCTimezone>{$dateTimeWithUTCTimezone}</dateTimeWithUTCTimezone>

<dateTimeWithTimeZoneAdded>{ xf:remove-timezone-from-dateTime(xs:dateTime($dateTimeWithUTCTimezone)) }

</dateTimeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateTimeWithUTCTimezone>2002-12-06T12:00:00Z</dateTimeWithUTCTimezone>

<dateTimeWithTimeZoneAdded>2002-12-06T05:00:00</dateTimeWithTimeZoneAdded>

</result>

関連トピック

W3C の remove-timezone-from-dateTime 関数の説明。

W3C の dateTime データ型の説明。

W3C の dayTimeDuration 演算子の説明。

 


xf: add-timezone-to-date

date 値にタイム ゾーンを追加します。date 値に追加されるタイム ゾーンは、暗黙的なタイム ゾーン、または省略可能な引数 $dayTimeDuration-var として渡されるタイム ゾーンです。

注意 : 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。

以下の手順を実行することによって、date 値にタイム ゾーンを追加します。

指定されている date 値にすでにタイム ゾーンがある場合は、そのタイム ゾーンを date 値から削除します。add-timezone-to-date 関数の目的はタイム ゾーンのない date 値にタイム ゾーンを追加することですから、ほとんどの場合、date 値 (引数 $date-var) として渡されている date 値にはタイム ゾーンはありません。そのため、前の例のように、この手順は無視されます。

省略可能な引数 $dayTimeDuration-var または暗黙的な時間で指定されたタイム ゾーンを date 値 (引数 $date-var) に追加します。

前の手順で生成された新しい date 値を協定世界時 (UTC) タイム ゾーン値に変換します。

シグネチャ

xf:add-timezone-to-date(xs: date $date-var) —>xs: date

xf:add-timezone-to-date(xs: date $date-var, xf: dayTimeDuration $dayTimeDuration-var) —> xs: date

表 9-18 引数
データ型
引数
説明
xs: date?
$date-var
日付の表現を含みます。
xf:dayTimeDuration
$dayTimeDuration-var
$date-var に追加するタイム ゾーン (省略可能、指定しない場合は暗黙的なタイム ゾーンが使用されます)。

戻り値

タイム ゾーンのある date を返します。

$date-var にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var が指定されていない場合は、日付と時刻として渡された値は変換せずに返します。

指定したタイム ゾーンを date 値に追加する

次の例では、指定したタイム ゾーンを、指定した date 値に追加します。この例で指定する date 値 2002-12-06 には、関連付けられているタイム ゾーンはありません。

xf:add-timezone-to-date(xs:date("2002-12-06", dayTimeDuration("-PT7H"))) を呼び出して、指定したタイム ゾーンを、指定した date 値に追加すると、次の内部変換手順が実行されます。

  1. この例では、day TimeDuration の文字列 -PT7H としてタイム ゾーンを指定しています (-PT7H は、太平洋夏時間 (PST) タイム ゾーン (-07:00) です)。指定したタイム ゾーン -07:00 は指定した date 値 2002-12-06 に追加され、内部の date 値は 2002-12-06-07:00 になります。
  2. この新しい date 値 2002-12-06-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、date 値 2002-12-06Z になります。

let $dateWithNoTimezone := xs:date("2002-12-06")

return

<result>

<dateWithNoTimezone>{$dateWithNoTimezone}</dateWithNoTimezone>

<dateWithTimeZoneAdded>{ xf:add-timezone-to-date(xs:date($dateWithNoTimezone),

xf:dayTimeDuration("-PT7H")) }</dateWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateWithNoTimezone>2002-12-06</dateWithNoTimezone>

<dateWithTimeZoneAdded>2002-12-06Z</dateWithTimeZoneAdded>

</result>

注意 : 値 2002-12-06Z の最後の Z は、date 値が UTC 時刻であることを示します。
暗黙的なタイム ゾーンを date 値に追加する

次の例では、暗黙的なタイム ゾーンを、指定した date 値に追加します。この例で指定する date 値 2002-12-06 には、関連付けられているタイム ゾーンはありません。

この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。

xf:add-timezone-to-date(xs:date("2002-12-06")) を呼び出して、指定した date 値に暗黙的なタイム ゾーンを追加すると、次の内部変換手順が実行されます。

  1. 暗黙的なタイム ゾーン -07:00 は指定した date 値 2002-12-06 に追加され、内部の date 値は 2002-12-06-07:00 になります。
  2. この新しい date 値 2002-12-06-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、date 値 2002-12-06Z になります。

let $dateWithNoTimezone := xs:date("2002-12-06")

return

<result>

<dateWithNoTimezone>{$dateWithNoTimezone}</dateWithNoTimezone>

<dateWithTimeZoneAdded>{ xf:add-timezone-to-date(xs:date($dateWithNoTimezone)) }

</dateWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<dateWithNoTimezone>2002-12-06</dateWithNoTimezone>

<dateWithTimeZoneAdded>2002-12-06Z</dateWithTimeZoneAdded>

</result>

注意 : 2002-12-06Z の最後の Z は、date 値が UTC 時刻であることを示します。
注意 : マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。
関連トピック

W3C の add-timezone-to-date 関数の説明。

W3C の date データ型の説明。

W3C の dayTimeDuration 演算子の説明。

 


xf: add-timezone-to-time

time 値にタイム ゾーンを追加します。time 値に追加されるタイム ゾーンは、暗黙的なタイム ゾーン、または省略可能な引数 $dayTimeDuration-var として渡されるタイム ゾーンです。

注意 : 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。

以下の手順を実行することによって、time 値にタイム ゾーンを追加します。

  1. 指定されている time 値にすでにタイム ゾーンがある場合は、そのタイム ゾーンを time 値から削除します。add-timezone-to-time 関数の目的はタイム ゾーンが含まれない time 値にタイム ゾーンを追加することですから、ほとんどの場合、渡されている time 値 (引数 $time-var) にはタイム ゾーンはありません。そのため、前の例のように、この手順は無視されます。
  2. 省略可能な引数 $dayTimeDuration-var または暗黙的な時間で指定されたタイム ゾーンを time 値 (引数 $time-var) に追加します。
  3. 前の手順で生成された新しい time 値を協定世界時 (UTC) タイム ゾーン値に変換します。
シグネチャ

xf:add-timezone-to-time(xs: time $time-var) —>xs: time

xf:add-timezone-to-time(xs: time $time-var, xf: dayTimeDuration, $dayTimeDuration-var) —> xs: time

表 9-19 引数
引数
データ型
説明
xs:time
$time-var
時刻の表現を含みます。
xf:day Time Duration
$dayTimeDuration-var
$time-var に追加するタイム ゾーン (省略可能、指定しない場合は暗黙的なタイム ゾーンが使用されます)。

戻り値

タイム ゾーンのある time を返します。

$time-var にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var が指定されていない場合は、日付と時刻として渡された値を変換せずに返します。

指定したタイム ゾーンを time 値に追加する

次の例では、指定したタイム ゾーンを、指定した time 値に追加します。この例で指定する time 値 12:00:00 には、関連付けられているタイム ゾーンはありません

xf:date-timezone-to-time(xs:time("12:00:00", dayTimeDuration("-PT7H"))) を呼び出して、指定した time 値に、指定した time 値に追加すると、次の内部変換手順が実行されます。

この例では、day TimeDuration の文字列 -PT7H としてタイム ゾーンを指定しています (-PT7H は、太平洋夏時間 (PST) タイム ゾーン (-07:00) です)。指定したタイム ゾーン -07:00 は指定した time 値 12:00:00 に追加され、内部の time 値は 2002-12-06-12:00:00-07:00 になります。

この新しい time 値 19:00:00-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、time 値 19:00:00Z になります。

let $timeWithNoTimezone := xs:time("12:00:00")

return

<result>

<timeWithNoTimezone>{$timeWithNoTimezone}</timeWithNoTimezone>

<timeWithTimeZoneAdded>{ xf:add-timezone-to-time(xs:time($timeWithNoTimezone),

xf:dayTimeDuration("-PT7H")) }</timeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<timeWithNoTimezone>12:00:00</timeWithNoTimezone>

<timeWithTimeZoneAdded>19:00:00Z</timeWithTimeZoneAdded>

</result>

注意 : 値 19:00:00Z の最後の Z は、time 値が UTC 時刻であることを示します。
暗黙的なタイム ゾーンを time 値に追加する

次の例では、暗黙的なタイム ゾーンを、指定した time 値に追加します。この例で指定する time 値 12:00:00 には、関連付けられているタイム ゾーンはありません。

この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。

xf:add-timezone-to-time(xs:time("12:00:00")) を呼び出して、指定した time 値に暗黙的なタイム ゾーンを追加すると、次の内部変換手順が実行されます。

暗黙的なタイム ゾーン -07:00 は指定された time 値 12:00:00 に追加され、内部の time 値は 12:00:00-07:00 になります。

この新しい time 値 19:00:00-07:00 は協定世界時 (UTC) に変換され、次のクエリ例のように、time 値 19:00:00Z になります。

let $timeWithNoTimezone := xs:time("12:00:00")

return

<result>

<timeWithNoTimezone>{$timeWithNoTimezone}</timeWithNoTimezone>

<timeWithTimeZoneAdded>{ xf:add-timezone-to-time(xs:time($timeWithNoTimezone)) }

</timeWithTimeZoneAdded>

</result>

上のクエリからは、次の結果が生成されます。

<result>

<timeWithNoTimezone>12:00:00</timeWithNoTimezone>

<timeWithTimeZoneAdded>19:00:00Z</timeWithTimeZoneAdded>

</result>

注意 : 値 19:00:00Z の最後の Z は、time 値が UTC 時刻であることを示します。
注意 : マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。
関連トピック

W3C の add-timezone-to-time 関数の説明。

W3C の time データ型の説明。

W3C の dayTimeDuration 演算子の説明。

 


xf: remove-timezone-from-time

time 値からタイム ゾーンを削除します。タイム ゾーンのある time 値の場合は、暗黙的なタイム ゾーンまたは引数 $dayTimeDuration-var で指定されたタイム ゾーンにローカライズしてから、タイム ゾーン インジケータを削除します。

指定された time 値に関連付けられているタイム ゾーンがない場合は、time 値に暗黙的なタイム ゾーンを追加してから、上記で説明したローカライズを行います。remove-timezone-to-time 関数の目的はタイム ゾーンのある time 値からタイム ゾーンを削除することですから、ほとんどの場合、渡されている time 値 (引数 $time-var) にはタイム ゾーンがあります。そのため、前の例のように、この手順は無視されます。

注意 : 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。
シグネチャ

xf:remove-timezone-from-time(xs: time$time-var) —>xs: time

xf:remove-timezone-from-time(xs: time $time-var, xf: dayTimeDuration, $dayTimeDuration-var) —> xs: time

表 9-20 引数
データ型
引数
説明
xs:time
$time-var
時刻の表現を含みます。
xf:dayTimeDuration
$dayTimeDuration-var
$time-var に追加するタイム ゾーン (省略可能、指定しない場合は暗黙的なタイム ゾーンが使用されます)。

戻り値

タイム ゾーンのない time を返します

$time-var にタイム ゾーンが含まれず、省略可能な引数 $dayTimeDuration-var が指定されていない場合は、渡された時刻を変換せずに返します。

指定したタイム ゾーンを time 値から削除する

次の例では、指定したタイム ゾーンを、指定した time 値から削除します。

この例で渡される time 値 2:00:00Z には、タイム ゾーン インジケータ Z で示される UTC タイム ゾーンが指定されています。

前のクエリで、タイム ゾーンは day Time Duration で文字列 -PT7H として指定しています (-PT7H は、太平洋夏時間 (PST) タイム ゾーン (-07:00) です)。

次のクエリ例のように、UTC タイム ゾーンで指定した time 値 12:00:00Z は、渡されると PST タイム ゾーンにローカライズされ、タイム ゾーン インジケータ (Z) が削除されます。

let $timeWithUTCTimezone := xs:time("12:00:00Z")

return

<components>

<timeWithUTCTimezone>{$timeWithUTCTimezone}</timeWithUTCTimezone>

<timeWithTimeZoneAdded>{ xf:remove-timezone-from-time(xs:time($timeWithUTCTimezone),

xf:dayTimeDuration("-PT7H")) }</timeWithTimeZoneAdded>

</components>

上のクエリからは、次の結果が生成されます。

<components>

<timeWithUTCTimezone>12:00:00Z</timeWithUTCTimezone>

<timeWithTimeZoneAdded>05:00:00</timeWithTimeZoneAdded>

</components>

暗黙的なタイム ゾーンを time 値から削除する

次の例では、暗黙的なタイム ゾーンを、指定した time 値から削除します 。この例で渡される time 値 2:00:00Z には、タイム ゾーン インジケータ Z で示される UTC タイム ゾーンが指定されています。

この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。

次のクエリ例のように、UTC タイム ゾーンが指定された time 値として渡される値 12:00:00Z は、PST タイム ゾーンにローカライズされ、タイム ゾーン インジケータ (Z) が削除されます。

let $timeWithUTCTimezone := xs:time("12:00:00Z")

return

<components>

<timeWithUTCTimezone>{$timeWithUTCTimezone}</timeWithUTCTimezone>

<timeWithTimeZoneAdded>{ xf:remove-timezone-from-time(xs:time($timeWithUTCTimezone)) }

</timeWithTimeZoneAdded>

</components>

上のクエリからは、次の結果が生成されます。

<components>

<timeWithUTCTimezone>12:00:00Z</timeWithUTCTimezone>

<timeWithTimeZoneAdded>05:00:00</timeWithTimeZoneAdded>

</components>

関連トピック

W3C の remove-timezone-from-time 関数の説明。

W3C の time データ型の説明。

W3C の dayTimeDuration 演算子の説明。

 


xf: current-dateTime

現在の日付と時刻を取得します。

シグネチャ

xf:current-dateTime() —> xs: dateTime?

戻り値

現在の日付と時刻を dateTime 値として返します。

一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ日付と時刻が報告されます。

1 回呼び出す場合

次は、current-dateTime 関数を 1 回呼び出す単純なクエリの例です。

<current>{xf:current-dateTime()}</current>

現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上の XQuery からは次の結果が生成されます。

<current>2002-11-11T04:23:14.9030000</current>

複数回呼び出す場合

次は、current-dateTime 関数を 2 回呼び出すクエリの例です。

<current>

<first>{xf:current-dateTime()}</first>

<second>{xf:current-dateTime()}</second>

</current>

現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上の XQuery からは次の結果が生成されます。

<current>

<first>2002-11-11T04:23:34.5430000</first>

<second>2002-11-11T04:23:34.5430000</second>

</current>

注意 : 関数の両方の呼び出しに対して、秒数までまったく同じ時刻が返されます。
関連トピック

W3C の current-date 関数の説明。

W3C の dateTime データ型の説明。

 


xf: current-date

現在の日付を取得します。

シグネチャ

xf:current-date() —> xs: date?

戻り値

現在の日付を date 値として返します。

一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ日付が報告されます。

次は、current-date 関数を呼び出すクエリの例です。

<current>{xf:current-date()}</current>

現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。

<current>2002-11-11</current>

関連トピック

W3C の current-date 関数の説明。

W3C の date データ型の説明。

 


xf: current-time

現在の時刻を取得します。

シグネチャ

xf:current-time() —>xs: time?

戻り値

現在の日付と時刻を time 値として返します。

一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ時刻が報告されます。

1 回呼び出す場合

次は、current-time 関数を 1 回呼び出すクエリの例です。

<current>{xf:current-time()}</current>

現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。

<current>04:23:14.9030000</current>

複数回呼び出す場合

次は、current-time 関数を 2 回呼び出すクエリの例です。

<current>

<first>{xf:current-time()}</first>

<second>{xf:current-time()}</second>

</current>

現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。

<current>

<first>04:23:34.5430000</first>

<second>04:23:34.5430000</second>

</current>

注意 : 関数の両方の呼び出しに対して、秒数までまったく同じ時刻が返されます。
関連トピック

W3C の current-time 関数の説明。

W3C の time データ型の説明。


  ページの先頭       前  次