Date関数は、特定の日付からの月情報の取得や日付に対する時間の追加などのアクションをDateオブジェクトに対して実行します。
次の表では、「変換」でサポートしているDate関数について説明します。これらと同じ関数が変換APIリファレンス(Groovydoc)で説明されています。
日付書式はJavaのSimpleDateFormatクラスに準拠しています。SimpleDateFormatクラスの詳細は、http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.htmlを参照してください。
| ユーザー関数 | 戻り値のデータ型 | 説明 |
|---|---|---|
| addTime(Date attribute, Integer timeToAdd, String timeUnit) | Date | Dateオブジェクトに時間を追加します。使用する時間単位は、次の定数のいずれかである必要があります。
|
| diffDates(Date firstDate, Date secondDate, String timeUnit, Boolean precisionFlag) | Double | 2つの日付間の差異を特定の時間単位でlongとして計算します。時間単位は、次の定数のいずれかである必要があります。
オプションのprecisionFlagパラメータは、ミリ秒の精度で差異を区別するかどうかを指定します。使用しない場合、デフォルトはfalseです。 |
| getDayOfMonth(Date attribute, String timeZone, String locale) | Integer | Dateの日の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getDayOfWeek(Date attribute, String timeZone, String locale) | Integer | Dateの曜日の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getDayOfYear(Date attribute, String timeZone, String locale) | Integer | Dateの年間通算日の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getHour(Date attribute, String timeZone, String locale) | Integer | Dateの時間の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getMilliSecond(Date attribute, String timeZone, String locale) | Long | 指定したタイムゾーンおよびロケールのパラメータに基づいて、Dateのミリ秒の値を返します。デフォルトは、それぞれnullおよび"en"です。 |
| getMinute(Date attribute, String timeZone, String lcoale) | Integer | Dateの分の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getMonth(Date attribute, String timeZone, String locale) | Integer | Dateの月の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getSeconds(Date attribute, String timeZone, String locale) | Long | Dateの秒の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| getYear(Date attribute, String timeZone, String locale) | Integer | Dateの年の値を返します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| isDate(String attribute, String dateFormat) | Boolean | Stringが指定した書式の有効なDate値であるかどうかを確認します。 |
| toDate(Long epochDate) | Date | LongをDateオブジェクトに変換します。 |
| toDate(String attribute, String dateFormat)、String timeZone、String locale | Date | 特定の日付書式を使用してStringをDateオブジェクトに変換します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。無効な日付Stringの場合、nullを返します。 |
| today(String timeZone, String locale) | Date | 現在の日付を戻します。タイムゾーンおよびロケールをオプションのパラメータとして指定できます。デフォルト値はそれぞれ、nullおよび"en"です。 |
| toString(Date date, String dateFormat, String locale) | String | DateをStringに変換します。Dateの書式およびロケールを指定する必要があります。これらはそれぞれ、DATEFORMAT_DEFAULTおよび"en"にデフォルト設定されます。 |
| truncateDate(Date date, String timeUnit) | Date | 指定された時間単位に基づいてDateを切り捨てます。使用する時間単位は、次の定数のいずれかである必要があります。
たとえば、truncateDate((toDate("2015/03/31 21:34:56")),MONTHS)は、2015-03-01 00:00:00 UTCを返します。 |
Date定数により、Date関数に渡すことができるデフォルトのDate書式および時間単位を定義します。
次の表では、「変換」でサポートしているDate定数について説明します。
| 定数名 | データ型 | 説明 |
|---|---|---|
| DATEFORMAT_DEFAULT | Object | デフォルトの日付書式を定義します: "yyyy/MM/dd HH:mm:ss" |
| DAYS | Object | 日の定数を定義します: "days" |
| HOURS | Object | 時の定数を定義します: "hours" |
| MILLISECONDS | Object | ミリ秒の定数を定義します: "milliseconds" |
| MINUTES | Object | 分の定数を定義します: "minutes" |
| MONTHS | Object | 月の定数を定義します: "months" |
| SECONDS | Object | 秒の定数を定義します: "seconds" |
| WEEKS | Object | 週の定数を定義します: "weeks" |
| YEARS | Object | 年の定数を定義します: "years" |
toString(pickup_datetime, 'yyyy-MM')
次のコードでは、diffDates関数を使用して、pickup_datetimeまでの日数を計算します。
diffDates(today(),pickup_datetime,DAYS,true)
today()は現在日付を取得し、pickup_datetimeは取得日、DAYSは結果を返す時間単位を指定し、そしてtrueは差異を正確に計算することを指定します。
toDate(toLong("1240596879"))
toDate(date_String,'EEE MM/DD/YYYY hh:mm:ss a') toDate(date_String,'EEE MM/DD/YYYY hh:mm:ss a','EST') toDate(date_String,'EEE MM/DD/YYYY hh:mm:ss a','Etc/GMT-10') toDate(date_String,'EEE MM/DD/YYYY hh:mm:ss a','Etc/Universal','en')) toDate(date_String,'EEE MM/DD/YYYY hh:mm:ss a','GMT0','de')) toDate(date_String,DATEFORMAT_DEFAULT) toDate(date_String,DATEFORMAT_DEFAULT,'EST') toDate(date_String,DATEFORMAT_DEFAULT,'Etc/GMT-10')