日付関数、時間関数および期間関数
FEELは日付、時間または期間値のリテラル表現をサポートしていないため、組込み関数と文字列または数値リテラルの組合せを使用してこれらの値を表現する必要があります。
変換例
この項の例では、数値または文字列リテラルを日付、時間または期間のデータ型に変換する方法を示します。
日付と時間のデータ型の例
次の例では、文字列リテラルを日付値または日時値に変換します。
| 例 | 説明 |
|---|---|
|
date("2012-12-25") |
日付2012-12-25をYYYY-MM-DD形式で表します。 |
|
time("23:59:00") |
hh:mm:ss形式の時間23:59:00を表します。 |
|
time("23:59:00-08:00") |
hh:mm:ss形式のローカル時間23:59:00を表します。ローカル時間はUTCから8時間遅れます。 |
|
date and time("2012-12-25T11:00:00") |
日付2012-12-25および時間11:00:00をそれぞれYYYY-MM-DDおよびhh:mm:ss形式で表します。 |
|
date and time("2012-12-25T11:00:00Z") |
日付2012-12-25および時間11:00:00をそれぞれYYYY-MM-DDおよびhh:mm:ss形式で表し、ZはUTC時間を表します。 |
期間データ型の例
次の表に、duration関数を使用したいくつかの変換例を示します。
| 例 | 説明 |
|---|---|
|
duration("P1DT12H30M") |
1日、12時間および30分の期間を表します。 |
|
duration("-P120D") |
期間マイナス120日を表します。 |
|
duration("PT2000H") |
2000時間の期間を表します。 |
|
duration("P1Y2M3DT10H30M") |
1年、2か月、3日、10時間および30分の期間を表します。 |
算術演算の例
このセクションの例では、日付、時間または期間のデータ型に対して実行できる算術演算を示します。
| 演算子 | 例 | 結果 | 説明 |
|---|---|---|---|
|
(+) |
date("2016-12-25") + duration("P3Y2M6D") |
date("2020-03-02") |
2016-12-25の3年2か月後および6日後の日付を返します。 |
|
(+) |
date and time("2016-12-25T12:30:00Z") + duration("P1Y2M3DT10H30M") |
date and time("2018-02-28T23:00:00Z") |
日付と時刻を、日付2016-12-25および時刻12:30:00の1年2か月3日と10時間30分後に返します。 |
|
(+) |
date("2016-12-25") + duration("-P3Y2M6D") |
date("2013-10-19") |
2016-12-25の3年2か月および6日前の日付を返します。 |
|
(-) |
date("2015-12-25") - date("2012-12-25") |
duration("P1095DT0H0M0S") |
日数および時間数を示す期間を返します。 |
|
(-) |
date and time("2012-12-25T12:00:00") - date and time("2015-12-25T11:12:00") |
duration("-P1094DT23H12M0S") |
日数および時間数を示す期間を返します。 |
|
(-) |
date and time("2012-12-25T12:00:00-08:00") - date and time("2015-12-25T11:12:00Z") |
duration("-P1094DT15H12M0S") |
2つの異なるタイムゾーンの日時間の日数および時間を示す期間を返します。 |
|
(-) |
date("2016-12-25") - duration("P3Y2M6D") |
date("2013-10-19") |
2016-12-25の3年2か月および6日前の日付を返します。 |
|
(/) |
(date("2015-12-25") - date("2012-12-25"))/duration( "P1D" ) |
1095 |
2つの日付の間の日数を戻します。 |
|
(/) |
(date and time("2015-12-25T17:00:00") - date and time("2015-12-25T09:12:00"))/duration( "PT1H" ) |
7.8 |
2つの日時値の間の時間数を返します。 |
|
(/) |
(date("2015-12-25") - date("2015-12-24"))/duration( "P1Y" ) |
0.0027397260273972603 |
2つの日付の間の年数を返します。 |
|
なし |
years and months duration(date("2012-12-23") , date("2015-12-25")) |
duration("-P3Y0M") |
2つの日付の間の年と月の期間を返します。 |