日付関数は、特定の日付から月の情報を取得したり、日付に時間を追加するなど、日付オブジェクトに対するアクションを実行します。
この表は、「変換」でサポートされる日付関数を示しています。 「変換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
|
日付オブジェクトに時間を追加します。 使用される時間単位は、次の定数のいずれかである必要があります:
|
diffDates(Date firstDate, Date secondDate, String timeUnit, Boolean precisionFlag)
|
Double
|
特定の時間単位の2つの日付の差を計算します。 時間単位は、次の定数のいずれかである必要があります:
|
getDayOfMonth(Date attribute, String timeZone, String locale)
|
Integer
|
日付の月の日の値を返します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getDayOfWeek(Date attribute, String timeZone, String locale)
|
Integer
|
日付の曜日の値を返します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getDayOfYear(Date attribute, String timeZone, String locale)
|
Integer
|
日の年の日の値を返します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getHour(Date attribute, String timeZone, String locale)
|
Integer
|
日付の時間の値を戻します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getMilliSecond(Date attribute, String timeZone, String locale)
|
Long
|
指定したタイムゾーンおよびロケール・パラメータに基づいて、日付のミリ秒の値を返します。 デフォルトはそれぞれnull と"en" です。
|
getMinute(Date attribute, String timeZone, String lcoale)
|
Integer
|
日付の分の値を戻します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getMonth(Date attribute, String timeZone, String locale)
|
Integer
|
日付の月の値を戻します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getSeconds(Date attribute, String timeZone, String locale)
|
Long
|
日付の秒の値を戻します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
getYear(Date attribute, String timeZone, String locale)
|
Integer
|
日付の年の値を戻します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
isDate(String attribute, String dateFormat)
|
Boolean
|
文字列が特定の書式を持つ有効な日付値かどうかを判断します。 |
toDate(Long epochDate)
|
Date
|
LongをDateオブジェクトに変換します。 |
toDate(String attribute, String dateFormat), String timeZone, String locale
|
Date
|
特定の日付書式を使用して、文字列を日付オブジェクトに変換します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。 無効な日付文字列はnull を戻します。
|
today(String timeZone, String locale)
|
Date
|
現在の日付を返します。 タイム・ゾーンとロケールはオプション・パラメータとして指定でき、デフォルトはそれぞれnull と"en" です。
|
toString(Date date, String dateFormat, String locale)
|
String
|
日付を文字列に変換します。 日付書式と、DATEFORMAT_DEFAULT と"en" にデフォルトで設定されているロケールをそれぞれ指定する必要があります。
|
truncateDate(Date date, String timeUnit)
|
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"
|
例20-7 日付抽出の例
toString(pickup_datetime, 'yyyy-MM')
例20-8 日付計算の例
次のコードは、diffDates
関数を使用して、pickup_datetime
への日数を計算します:
diffDates(today(),pickup_datetime,DAYS,true)
today()
によって現在の日付が取得され、pickup_datetime
がピック・アップ日、DAYS
は結果を返す時間単位を指定、true
は精度で差異を計算することを指定します。
例20-9 toDateの例
toLong
関数を使用してStringをLongに変換してから、その結果をtoDate
関数の入力として使用します:
toDate(toLong("1240596879"))
toDate
関数の日付書式の例を示します:
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')