|
この章では、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
この節では、マッパー機能で使用できる日付関数のリストを示します。
$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。
xf:
get-year-from-dateTime(
xs:
dateTime?$dateTime-var)
—> xs:
integer?
$dateTime-var
から抽出した年を整数として返します。
<year>{xf:get-year-from-dateTime("2002-08-30T22:21:01")}</year>
W3C の
get-year-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-month-from-dateTime(
xs:
dateTime? $dateTime-var)
—>xs:
integer?
$dateTime-var
から抽出した月を整数として返します。
<month>{xf:get-month-from-dateTime("2002-08-30T22:21:01")}</month>
W3C の
get-month-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()」であり、SQL の null のようなものです。
xf:
get-day-from-dateTime(xs:
dateTime $dateTime-var)
—> xs:integer?
$dateTime-var
から抽出した日を整数として返します。
<day>{xf:get-day-from-dateTime("2002-08-30T22:21:01")}</day>
W3C の
get-day-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-hours-from-dateTime(xs:
dateTime?$dateTime-var
) —> xs: integer?
$dateTime-var
から抽出した時間を整数として返します。
<hours>{xf:get-hours-from-dateTime("2002-08-30T22:21:01")}</hours>
次は、タイム ゾーンを指定する場合の get-hours-from-dateTime 関数の使用例です。
<hours>{xf:get-hours-from-dateTime("2002-08-30T14:21:01-05:00")}</hours>
上のクエリの文字列 -05:00
は、協定世界時 (UTC) から 5
時間遅れている東部標準タイム ゾーンの時刻を指定します。時間は協定世界時 (UTC) で報告されるため、東部標準タイム ゾーンの 14 時に 5 時間が加算されます。その結果、協定世界時 (UTC) では 19 時になります。
W3C の
get-hours-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-minutes-from-dateTime
(xs:
dateTime?$dateTime-var
) —> xs: integer?
$dateTime-var
から抽出した分を整数として返します。
<minutes>{xf:get-minutes-from-dateTime("2002-08-30T22:21:01")}</minutes>
W3C の
get-minutes-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-seconds-from-dateTime
(xs:
dateTime? $dateTime-var) —> xs:xs:
decimal?
$dateTime-var
から抽出した秒を 10 進数として返します。
<seconds>{xf:get-seconds-from-dateTime("2002-08-30T22:21:01")}</seconds>
W3C の
get-seconds-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$dateTime-var
から現在のタイム ゾーンを抽出し、文字列として返します。
$dateTime-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します。
$dateTime-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-timezone-from-dateTime(xs:
dateTime? $dateTime-var)
—> xs:
string ?
$dateTime-var
から抽出した現在のタイム ゾーンを文字列として返します。
$dateTime-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。
次は、タイム ゾーンが指定されている場合の get-timezone-from-dateTime 関数の使用例です。
<tz>{xf:get-timezone-from-dateTime("2002-08-30T14:21:01-05:00")}</tz>
上のクエリの文字列 -05:00 は、協定世界時 (UTC) から 5 時間遅れている東部標準タイム ゾーンの時刻を指定します。
次は、タイム ゾーンが指定されている場合の get-timezone-from-dateTime 関数の使用例です。
<tz>{xf:get-timezone-from-dateTime("2002-08-30T14:21:01Z")}</tz>
この例の Z
は、協定世界時 (UTC) の時刻を意味しているので、タイム ゾーンは報告されません。
次は、タイム ゾーンが指定されていない場合の get-timezone-from-dateTime 関数の使用例です。
<tz>{xf:get-timezone-from-dateTime("2002-08-30T22:21:01")}</tz>
W3C の
get-timezone-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
$date-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-year-from-date(xs:
date?
$date-var)
—> xs: integer?
<year>{xf:get-year-from-date("2002-08-30")}</year>
W3C の
get-year-from-date 関数の説明。
W3C の
date データ型の説明。
$date-var
の値が空のシーケンスである場合は、空のシーケンスを返します。 空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-month-from-date(xs:
date? $date-var)
—> xs: integer?
<month>{get-month-from-date("2002-08-30")}</month>
W3C の
get-month-from-date 関数の説明。
W3C の
date データ型の説明。
$date-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-day-from-date
(xs:
date? $date-var
) —>xs: integer?
<day>{xf:get-day-from-date("2002-08-30")}</day>
W3C の
get-day-from-date 関数の説明。
W3C の
date データ型の説明。
$date-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します。
$date-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-timezone-from-date(xs:
date?$date-var)
—>xs:
string ?
$date-var
から抽出した現在のタイム ゾーンを文字列として返します。
$date-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。
次は、タイム ゾーンが指定されている場合の get-timezone-from-date 関数の使用例です。
<tz>{xf:get-timezone-from-date(xs:date("2002-08-30-05:00"))}</tz>
上のクエリの文字列 -05:00
は、協定世界時 (UTC) から 5
時間遅れている東部標準タイム ゾーンの時刻を指定します。
次は、タイム ゾーンが指定されている場合の get-timezone-from-date 関数の使用例です。
<tz>{xf:get-timezone-from-date(xs:date("2002-08-30Z"))}</tz>
上のクエリの Z
は、協定世界時 (UTC) の時刻を意味しているので、タイム ゾーンは報告されません。
次は、タイム ゾーンが指定されていない場合の get-timezone-from-date 関数の使用例です。
<tz>{xf:get-timezone-from-date(xs:date("2002-08-30"))}</tz>
W3C の
get-timezone-from-date 関数の説明。
W3C の
date データ型の説明。
$time-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-hours-from-time(xs:
time? $time-var)
—>xs: integer?
次は、get-hours-from-time 関数の単純な使用例です。
<hours>{xf:get-hours-from-time("22:21:01")}</hours>
次は、タイム ゾーンが指定されている場合の get-hours-from-time 関数の使用例です。
<hours>{xf:get-hours-from-time("14:21:01-05:00")}</hours>
上のクエリの文字列 -05:00
は、協定世界時 (UTC) から 5
時間遅れている東部標準タイム ゾーンの時刻を指定します。時間は協定世界時 (UTC) で報告されるため、東部標準タイム ゾーンの 14
時に 5
時間が加算されます。その結果、協定世界時 (UTC) では 19
時になります。
W3C の
get-hours-from-time 関数の説明。
W3C の
time データ型の説明。
$time-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-minutes-from-time(xs:
time? $time-var
) —> xs: integer?
次は、get-minutes-from-time 関数の単純な使用例です。
<minutes>{xf:get-minutes-from-time("22:21:01")}</minutes>
次は、タイム ゾーンが指されている場合の get-minutes-from-time function 関数の使用例です。
<minutes>{xf:get-minutes-from-time("14:21:01-05:00")}</minutes>
W3C の
get-minutes-from-time 関数の説明。
W3C の
time データ型の説明。
$time-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-seconds-from-time(xs:
time?$time-var)
—> xs:
decimal ?
$time-var
から抽出した秒を 10 進数として返します。
次は、get-hours-from-time 関数の単純な使用例です。
<seconds>{xf:get-seconds-from-time("22:21:01")}</seconds>
次は、タイム ゾーンが指定されている場合の get-seconds-from-time 関数の使用例です。
<seconds>{xf:get-seconds-from-time("14:21:01-05:00")}</seconds>
W3C の
get-seconds-from-time 関数の説明。
W3C の
time データ型の説明。
$time-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します。
$time-var
の値が空のシーケンスである場合は、空のシーケンスを返します。空のシーケンスとは項目を含まないシーケンス「()
」であり、SQL の null のようなものです。
xf:
get-timezone-from-time(xs:
time? $time-var)
—>xs:
string ?
$time-var
から抽出した現在のタイム ゾーンを文字列として返します。
$time-var
にタイム ゾーンが含まれない場合は、空のシーケンスを返します (次の例を参照)。
次は、タイム ゾーンが指定されている場合の get-timezone-from-time 関数の使用例です。
<tz>{xf:get-timezone-from-time(xs:time("14:21:01-05:00"))}</tz>
上のクエリの文字列 -05:00
は、協定世界時 (UTC) から 5
時間遅れている東部標準タイム ゾーンの時刻を指定します。
次は、タイム ゾーンが指定されている場合の get-timezone-from-time 関数の使用例です。
<tz>{get-timezone-from-time(xs:time("14:21:01Z"))}</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 データ型の説明。
dateTime 値にタイム ゾーンを追加します。dateTime 値に追加されるタイム ゾーンは、暗黙的なタイム ゾーン、または省略可能な引数 $dayTimeDuration-var
として渡されるタイム ゾーンです。
注意 : | 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。 |
以下の手順を実行することによって、dateTime 値にタイム ゾーンを追加します。
$dateTime-var
) にはタイム ゾーンはありません。そのため、前の例のように、この手順は無視されます。 $dayTimeDuration-var
または暗黙的な時間で指定されたタイム ゾーンを dateTime 値 (引数 $dateTime-var
) に追加します。
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
$dateTime-var
にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var
が指定されていない場合は、渡された日付と時刻を変換せずに返します。
次の例では、指定したタイム ゾーンを、指定した dateTime 値に追加します。この例で指定する dateTime 値 2002-12-06T12:00:00 には、関連付けられているタイム ゾーンはありません。
xf:add-timezone-to-dateTime(xs:dateTime("2002-12-06T12:00:00", dayTimeDuration("-PT7H"))) を呼び出して、指定したタイム ゾーンを、指定した dateTime 値に追加すると、次の内部変換手順が実行されます。
let $dateTimeWithNoTimezone := xs:dateTime("2002-12-06T12:00:00")
<dateTimeWithNoTimezone>{$dateTimeWithNoTimezone}</dateTimeWithNoTimezone>
<dateTimeWithTimeZoneAdded>{ xf:add-timezone-to-dateTime(xs:dateTime($dateTimeWithNoTimezone),
xf:dayTimeDuration("-PT7H")) }</dateTimeWithTimeZoneAdded>
<dateTimeWithNoTimezone>2002-12-06T12:00:00</dateTimeWithNoTimezone>
<dateTimeWithTimeZoneAdded>2002-12-06T19:00:00Z</dateTimeWithTimeZoneAdded>
注意 : | 値 2002-12-06T19:00:00Z の最後の Z は、dateTime 値が UTC 時刻であることを示します。 |
次の例では、暗黙的なタイム ゾーンを、指定した dateTime 値に追加します。この例で指定する dateTime 値 2002-12-06T12:00:00
には、関連付けられているタイム ゾーンはありません。
この例では、暗黙的なタイム ゾーンを -07:00
(太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。
xf:add-timezone-to-dateTime(xs:dateTime("2002-12-06T12:00:00")) を呼び出して、指定した dateTime 値に暗黙的なタイム ゾーンを追加すると、次の内部変換手順が実行されます。
let $dateTimeWithNoTimezone := xs:dateTime("2002-12-06T12:00:00")
<dateTimeWithNoTimezone>{$dateTimeWithNoTimezone}</dateTimeWithNoTimezone>
<dateTimeWithTimeZoneAdded>{ xf:add-timezone-to-dateTime(xs:dateTime($dateTimeWithNoTimezone)) }
<dateTimeWithNoTimezone>2002-12-06T12:00:00</dateTimeWithNoTimezone>
<dateTimeWithTimeZoneAdded>2002-12-06T19:00:00Z</dateTimeWithTimeZoneAdded>
注意 : | 値 2002-12-06T19:00:00Z の最後の Z は、dateTime 値が UTC 時刻であることを示します。 |
注意 : | マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。 |
W3C の
add-timezone-to-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
W3C の
dayTimeDuration 演算子の説明。
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: dateTim
e
$dateTime-var
にタイム ゾーンが含まれず、省略可能な引数 $dayTimeDuration-var
が指定されていない場合は、渡された日付と時刻を変換せずに返します。
次の例では、指定した 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")
<dateTimeWithUTCTimezone>{$dateTimeWithUTCTimezone}</dateTimeWithUTCTimezone>
<dateTimeWithTimeZoneAdded>{ xf:remove-timezone-from-dateTime(xs:dateTime($dateTimeWithUTCTimezone,
xf:dayTimeDuration("-PT7H"))) }</dateTimeWithTimeZoneAdded>
<dateTimeWithUTCTimezone>2002-12-06T12:00:00Z</dateTimeWithUTCTimezone>
<dateTimeWithTimeZoneAdded>2002-12-06T05:00:00</dateTimeWithTimeZoneAdded>
次の例では、指定した
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")
<dateTimeWithUTCTimezone>{$dateTimeWithUTCTimezone}</dateTimeWithUTCTimezone>
<dateTimeWithTimeZoneAdded>{ xf:remove-timezone-from-dateTime(xs:dateTime($dateTimeWithUTCTimezone)) }
<dateTimeWithUTCTimezone>2002-12-06T12:00:00Z</dateTimeWithUTCTimezone>
<dateTimeWithTimeZoneAdded>2002-12-06T05:00:00</dateTimeWithTimeZoneAdded>
W3C の
remove-timezone-from-dateTime 関数の説明。
W3C の
dateTime データ型の説明。
W3C の
dayTimeDuration 演算子の説明。
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
タイム ゾーンのある
date を返します。
$date-var
にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var
が指定されていない場合は、日付と時刻として渡された値は変換せずに返します。
次の例では、指定したタイム ゾーンを、指定した date 値に追加します。この例で指定する date 値 2002-12-06 には、関連付けられているタイム ゾーンはありません。
xf:add-timezone-to-date(xs:date("2002-12-06", dayTimeDuration("-PT7H"))) を呼び出して、指定したタイム ゾーンを、指定した date 値に追加すると、次の内部変換手順が実行されます。
let $dateWithNoTimezone := xs:date("2002-12-06")
<dateWithNoTimezone>{$dateWithNoTimezone}</dateWithNoTimezone>
<dateWithTimeZoneAdded>{ xf:add-timezone-to-date(xs:date($dateWithNoTimezone),
xf:dayTimeDuration("-PT7H")) }</dateWithTimeZoneAdded>
<dateWithNoTimezone>2002-12-06</dateWithNoTimezone>
<dateWithTimeZoneAdded>2002-12-06Z</dateWithTimeZoneAdded>
注意 : | 値 2002-12-06Z の最後の Z は、date 値が UTC 時刻であることを示します。 |
次の例では、暗黙的なタイム ゾーンを、指定した date 値に追加します。この例で指定する date 値 2002-12-06 には、関連付けられているタイム ゾーンはありません。
この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。
xf:add-timezone-to-date(xs:date("2002-12-06")) を呼び出して、指定した date 値に暗黙的なタイム ゾーンを追加すると、次の内部変換手順が実行されます。
let $dateWithNoTimezone := xs:date("2002-12-06")
<dateWithNoTimezone>{$dateWithNoTimezone}</dateWithNoTimezone>
<dateWithTimeZoneAdded>{ xf:add-timezone-to-date(xs:date($dateWithNoTimezone)) }
<dateWithNoTimezone>2002-12-06</dateWithNoTimezone>
<dateWithTimeZoneAdded>2002-12-06Z</dateWithTimeZoneAdded>
注意 : | 値 2002-12-06Z の最後の Z は、date 値が UTC 時刻であることを示します。 |
注意 : | マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。 |
W3C の
add-timezone-to-date 関数の説明。
W3C の
date データ型の説明。
W3C の
dayTimeDuration 演算子の説明。
time 値にタイム ゾーンを追加します。time 値に追加されるタイム ゾーンは、暗黙的なタイム ゾーン、または省略可能な引数 $dayTimeDuration-var
として渡されるタイム ゾーンです。
注意 : | 暗黙的なタイム ゾーンは現在の環境から取得されます。たとえば、使用しているマシンで指定しているタイム ゾーンが太平洋夏時間 (PSD) である場合、暗黙的なタイム ゾーンは -07:00 になります。 |
以下の手順を実行することによって、time 値にタイム ゾーンを追加します。
add-timezone-to-time
関数の目的はタイム ゾーンが含まれない time 値にタイム ゾーンを追加することですから、ほとんどの場合、渡されている time 値 (引数 $time-var
) にはタイム ゾーンはありません。そのため、前の例のように、この手順は無視されます。 $dayTimeDuration-var
または暗黙的な時間で指定されたタイム ゾーンを time 値 (引数 $time-var
) に追加します。
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
$time-var
にタイム ゾーンが含まれており、省略可能な引数 $dayTimeDuration-var
が指定されていない場合は、日付と時刻として渡された値を変換せずに返します。
次の例では、指定したタイム ゾーンを、指定した
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")
<timeWithNoTimezone>{$timeWithNoTimezone}</timeWithNoTimezone>
<timeWithTimeZoneAdded>{ xf:add-timezone-to-time(xs:time($timeWithNoTimezone)
,
xf:dayTimeDuration("-PT7H")) }</timeWithTimeZoneAdded>
<timeWithNoTimezone>12:00:00</timeWithNoTimezone>
<timeWithTimeZoneAdded>19:00:00Z</timeWithTimeZoneAdded>
注意 : | 値 19:00:00Z の最後の Z は、time 値が UTC 時刻であることを示します。 |
次の例では、暗黙的なタイム ゾーンを、指定した
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")
<timeWithNoTimezone>{$timeWithNoTimezone}</timeWithNoTimezone>
<timeWithTimeZoneAdded>{ xf:add-timezone-to-time(xs:time($timeWithNoTimezone)) }
<timeWithNoTimezone>12:00:00</timeWithNoTimezone>
<timeWithTimeZoneAdded>19:00:00Z</timeWithTimeZoneAdded>
注意 : | 値 19:00:00Z の最後の Z は、time 値が UTC 時刻であることを示します。 |
注意 : | マシンによって暗黙的なタイム ゾーンが異なる可能性があるため、このクエリの結果と異なる場合があります。 |
W3C の
add-timezone-to-time 関数の説明。
W3C の
time データ型の説明。
W3C の
dayTimeDuration 演算子の説明。
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
$time-var
にタイム ゾーンが含まれず、省略可能な引数 $dayTimeDuration-var
が指定されていない場合は、渡された時刻を変換せずに返します。
次の例では、指定したタイム ゾーンを、指定した 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")
<timeWithUTCTimezone>{$timeWithUTCTimezone}</timeWithUTCTimezone>
<timeWithTimeZoneAdded>{ xf:remove-timezone-from-time(xs:time($timeWithUTCTimezone),
xf:dayTimeDuration("-PT7H")) }</timeWithTimeZoneAdded>
<timeWithUTCTimezone>12:00:00Z</timeWithUTCTimezone>
<timeWithTimeZoneAdded>05:00:00</timeWithTimeZoneAdded>
次の例では、暗黙的なタイム ゾーンを、指定した time 値から削除します
。この例で渡される time 値 2:00:00Z には、タイム ゾーン インジケータ Z
で示される UTC タイム ゾーンが指定されています。
この例では、暗黙的なタイム ゾーンを -07:00 (太平洋夏時間 (PST) タイム ゾーン) と仮定しています。暗黙的なタイム ゾーンは現在のマシンのデフォルトのタイム ゾーンです。
次のクエリ例のように、UTC タイム ゾーンが指定された time 値として渡される値 12:00:00Z は、PST タイム ゾーンにローカライズされ、タイム ゾーン インジケータ (Z
) が削除されます。
let $timeWithUTCTimezone := xs:time("12:00:00Z")
<timeWithUTCTimezone>{$timeWithUTCTimezone}</timeWithUTCTimezone>
<timeWithTimeZoneAdded>{ xf:remove-timezone-from-time(xs:time($timeWithUTCTimezone)) }
<timeWithUTCTimezone>12:00:00Z</timeWithUTCTimezone>
<timeWithTimeZoneAdded>05:00:00</timeWithTimeZoneAdded>
W3C の
remove-timezone-from-time 関数の説明。
W3C の
time データ型の説明。
W3C の
dayTimeDuration 演算子の説明。
xf:
current-dateTime() —>
xs:
dateTime?
一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ日付と時刻が報告されます。
次は、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 回呼び出すクエリの例です。
<first>{xf:current-dateTime()}</first>
<second>{xf:current-dateTime()}</second>
現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上の XQuery からは次の結果が生成されます。
<first>2002-11-11T04:23:34.5430000</first>
<second>2002-11-11T04:23:34.5430000</second>
注意 : | 関数の両方の呼び出しに対して、秒数までまったく同じ時刻が返されます。 |
W3C の
current-date 関数の説明。
W3C の
dateTime データ型の説明。
xf:
current-date() —>
xs:
date?
一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ日付が報告されます。
次は、current-date 関数を呼び出すクエリの例です。
<current>{xf:current-date()}</current>
現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。
W3C の
current-date 関数の説明。
W3C の
date データ型の説明。
現在の日付と時刻を
time 値として返します。
一番外側の単一の XQuery または XPATH 式でこの関数を呼び出すと、同じ時刻が報告されます。
次は、current-time 関数を 1 回呼び出すクエリの例です。
<current>{xf:current-time()}</current>
現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。
<current>04:23:14.9030000</current>
次は、current-time 関数を 2 回呼び出すクエリの例です。
<first>{xf:current-time()}</first>
<second>{xf:current-time()}</second>
現在の日付が 2002 年 11 月 11 日で現在の時刻が 4:23 である場合、上のクエリからは次の結果が生成されます。
<first>04:23:34.5430000</first>
<second>04:23:34.5430000</second>
注意 : | 関数の両方の呼び出しに対して、秒数までまったく同じ時刻が返されます。 |
W3C の
current-time 関数の説明。
W3C の
time データ型の説明。