このトピックでは、日付と時刻の関数の構文とパラメーターについて説明します。 このトピックでは、日付と時刻の関数の使用方法の例も示します。
ログイベントのすべての値は、log Serviceドメイン固有言語 (DSL) の変換ロジックに基づいて文字列として保存されます。 ビジネス要件に基づいてデータ型を変換する必要があります。
日付と時刻関数は、次のデータ型をサポートします。 このトピックで提供されている関数を使用して、日付と時刻の形式を変換できます。
String
例: 2022/07/03 02-41-26。
UNIXタイムスタンプ
例: 1559500886。
Datetime object
例: 2022-07-01 10:10:10 + 08:00および2022-07-01 10:10:10。
UNIXタイムスタンプは文字列です。
このトピックで説明する日付と時刻の関数のうち、dt_parse
、dt_str
、およびdt_parsetimestamp
関数のみが上記のデータ型をサポートしています。 他の関数では、パラメーター値が同じ型であることを確認する必要があります。
関数
カテゴリ | 機能 | 説明 |
一般的なdatetime変換 | time式の値または値をdatetimeオブジェクトに変換します。 | |
時間式の値または値を文字列に変換します。 | ||
time式の値または値をUNIX timestampに変換します。 | ||
値の指定された属性を返します。または時間式の値の指定された属性を返します。 属性には日と年が含まれます。 | ||
Datetimeクエリ | 現在のdatetimeオブジェクトを返します。 | |
現在の日付のみを返します。 | ||
現在のタイムゾーン内の現在のdatetimeオブジェクトを返します。 | ||
UNIXタイムスタンプをdatetimeオブジェクトに変換します。 | ||
UNIXタイムスタンプを現在のタイムゾーンのdatetimeオブジェクトに変換します。 | ||
時間文字列をdatetimeオブジェクトに解析します。 | ||
UNIXタイムスタンプ生成 | 現在のUNIXタイムスタンプを返します。 | |
datetimeオブジェクトをUNIXタイムスタンプに変換します。 | ||
Datetime文字列の生成 | datetimeオブジェクトを指定した形式の文字列に変換します。 | |
UNIXタイムスタンプを指定した形式の文字列に変換します。 | ||
日付の変更 | Extracts時間値の値または値から時間表現ベースに、指定した時間粒度。 | |
指定された時間粒度に基づいて、時間式の値または値を変更します。 | ||
Offsets、指定した時間に日付の前または次のNth Monday。 オフセット値Nは、 | ||
指定された時間を前または次の第N火曜日の日付にオフセットします。 オフセット値Nは、 | ||
Offsets、指定した時間に日付の前または次のNth Wednesday。 オフセット値Nは、 | ||
Offsets、指定した時間に日付の前または次のNth Thursday。 Theオフセット値Nは合格に | ||
指定された時間を前または次の第N金曜日の日付にオフセットします。 オフセット値Nは、 | ||
Offsets、指定した時間に日付の前または次のNth Saturday。 オフセット値Nは、 | ||
指定された時間を前または次の第N日曜日の日付にオフセットします。 オフセット値Nは、 | ||
タイムゾーン変更 | time式の値または値を、指定したタイムゾーンのdatetimeオブジェクトに変換します。 | |
差分生成 | 指定した時間粒度に基づいて、2つの値または2つの時間式の値の差を返します。 |
dt_parse
この関数は、time式の値または値をdatetimeオブジェクトに変換するために使用されます。
構文
dt_parse(value, tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
datetimeオブジェクトが返されます。
例
例1: timeフィールドの値をdatetimeオブジェクトに変換します。
Raw log:
time: 1559500886
変換ルール:
e_set("test_time", dt_parse(v("time")))
結果:
time: 1559500886 test_time: 2019-06-02 18:41:26
例2: timeフィールドの値を上海のタイムゾーンのdatetimeオブジェクトに変換します。
Raw log:
time: 2019-06-01 10:10:10 tz: Asia/Shanghai
変換ルール:
e_set("test_time", dt_parse(v("time"),tz=v("tz")))
結果:
time: 2019-06-01 10:10:10 tz: Asia/Shanghai test_time: 2019-06-01 10:10:10+08:00
dt_str
この関数は、時間式の値または値を文字列に変換するために使用されます。
構文
dt_str(value, fmt="format_string", tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
fmt
String
任意
文字列の形式。The format of the string. 詳細については、「日付と時間のフォーマットディレクティブ」をご参照ください。 デフォルトでは、パラメーターは空で、文字列の形式は変更されません。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
時間文字列が返されます。
例
例1: 東京のタイムゾーンで、時間フィールドの値を指定された形式の時間文字列に変換します。
Raw log:
time: 2019-06-03 02:41:26 fmt: %Y/%m/%d %H-%M-%S tz: Asia/Tokyo
変換ルール:
e_set("dt_str", dt_str(v("time"),fmt=v("fmt"),tz=v("tz")))
結果:
time: 2019-06-03 02:41:26 fmt: %Y/%m/%d %H-%M-%S tz: Asia/Tokyo dt_str: 2019/06/03 02-41-26
例2: 時間フィールドの値を指定した形式の時間文字列に変換します。 この例では、timeフィールドの値はUNIX timestampです。
Raw log:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S
変換ルール:
e_set("dt_str", dt_str(v("time"),fmt=v("fmt")))
結果:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_str: 2019/06/02 18-41-26
例3: 時間フィールドの値をデフォルト形式の時間文字列に変換します。
Raw log:
time: 2019-06-03 02:41:26
変換ルール:
e_set("dt_str", dt_str(v("time")))
結果:
time: 2019-06-03 02:41:26 dt_str: 2019-06-03 02:41:26
dt_parsetimestamp
この関数は、時間式の値または値をUNIXタイムスタンプに変換するために使用されます。
構文
dt_parsetimestamp(value, tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
UNIXタイムスタンプが返されます。
例
例1: timeフィールドの値を東京のタイムゾーンのUNIXタイムスタンプに変換します。
Raw log:
time: 2019-06-03 2:41:26 tz: Asia/Tokyo
変換ルール:
e_set("dt_parsetimestamp", dt_parsetimestamp(v("time"),v("tz")))
結果:
time: 2019-06-03 2:41:26 tz: Asia/Tokyo dt_parsetimestamp: 1559497286
例2: timeフィールドの値をUNIXタイムスタンプに変換します。
Raw log:
time: 2019-06-03 2:41:26
変換ルール:
e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
結果:
time: 2019-06-03 2:41:26 dt_parsetimestamp: 1559529686
例3: timeフィールドの値をUNIXタイムスタンプに変換します。
Raw log:
time: 2019-06-03 02:41:26+8:00
変換ルール:
e_set("dt_parsetimestamp",dt_parsetimestamp(v("time")))
結果:
time: 2019-06-03 02:41:26+8:00 dt_parsetimestamp: 1559500886
dt_prop
この関数は、指定された値の属性、または日や年などの時間式の値を返すために使用されます。
構文
dt_prop(value, props)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
小道具
String
必須
The属性を取得したい。 For例、属性設定パラメータに、唯一の年はreturned. Valid値:
日
、年
、月
、時間
、第二
、分
、マイクロ秒
、平日
、weekdayname
、weekdayshortname
、monthname
、monthshortname
、dayofyear
、dayofweek
、weekofyear
、weekofyear_m
、tzname
、weekofmonth
。レスポンス
属性の値が返されます。
例
例1: timeフィールドからday属性の値を抽出します。
Raw log:
time: 2018-10-2 09:11:40
変換ルール:
e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"day"))
結果:
time: 2018-10-2 09:11:40 dt_parsetimestamp: 2
例2: 時間フィールドから年属性の値を抽出します。
Raw log:
time: 2018-10-2 09:11:40
変換ルール:
e_set("dt_parsetimestamp",dt_prop(dt_parse(v("time")),"year"))
結果:
time: 2018-10-2 09:11:40 dt_parsetimestamp: 2018
例3: 時間フィールドからweekdayname属性の値を抽出します。
Raw log:
time: 2018-10-2 09:11:40 weekdayname: weekdayname
変換ルール:
e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekdayname"))
結果:
time: 2018-10-2 09:11:40 dt_prop: Tuesday
例4: 時間フィールドからweekofyear属性の値を抽出します。
Raw log:
time: 2018-10-2 09:11:40
変換ルール:
e_set("dt_prop",dt_prop(dt_parse(v("time")),"weekofyear"))
結果:
time: 2018-10-2 09:11:40 dt_prop: 39
dt_now
この関数は、現在のdatetimeオブジェクトを返すために使用されます。
構文
dt_now(tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
指定されたタイムゾーンのdatetimeオブジェクトが返されます。
例
上海のタイムゾーンにある現在のdatetimeオブジェクトを返します。
Raw log:
tz: Asia/Shanghai
変換ルール:
e_set("dt_now",dt_now(tz=v("tz")))
結果:
tz: Asia/Shanghai dt_now: 2022-06-30 11:21:25.111836+08:00
dt_today
この関数は、現在の日付のみを返すために使用されます。
構文
dt_today(tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
指定されたタイムゾーンの日付オブジェクトが返されます。
例
現在の日付のみを返します。
Raw log:
No default value
変換ルール:
e_set("dt_today", dt_today())
結果:
dt_today: 2022-06-30 00:00:00
dt_utcnow
この関数は、現在のタイムゾーンの現在のdatetimeオブジェクトを返すために使用されます。
構文
dt_utcnow()
パラメーター
なし。
レスポンス
現在のタイムゾーン内の現在のdatetimeオブジェクトが返されます。
例
現在のタイムゾーンの現在のdatetimeオブジェクトを返します。
Raw log:
None
変換ルール:
e_set("dt_utcnow",dt_utcnow())
結果:
dt_utcnow:2022-06-30 03:33:56.614005
dt_fromtimestamp
この関数は、UNIXタイムスタンプをdatetimeオブジェクトに変換するために使用されます。
構文
dt_fromtimestamp(value, tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String
必須
値または時間式。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
datetimeオブジェクトが返されます。
例
例1: timeフィールドの値をdatetimeオブジェクトに変換します。
Raw log:
time: 1559500886
変換ルール:
e_set("dt_fromtimestamp",dt_fromtimestamp(v("time")))
結果:
time: 1559500886 dt_fromtimestamp: 2019-06-02 18:41:26
例2: timeフィールドの値を上海のタイムゾーンのdatetimeオブジェクトに変換します。
Raw log:
time: 1559500886 tz: Asia/Shanghai
変換ルール:
e_set("dt_fromtimestamp",dt_fromtimestamp(v("time"),tz=v("tz"))))
結果:
time: 1559500886 tz: Asia/Shanghai dt_fromtimestamp: 2019-06-03 02:41:26+08:00
dt_utcfromtimestamp
この関数は、UNIXタイムスタンプを現在のタイムゾーンのdatetimeオブジェクトに変換するために使用されます。
構文
dt_utcfromtimestamp(value)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String
必須
値または時間式。
レスポンス
datetimeオブジェクトが返されます。
例
Raw log:
time: 1559500886
変換ルール:
e_set("dt_utcfromtimestamp",dt_utcfromtimestamp(v("time")))
結果:
time: 1559500886 dt_utcfromtimestamp: 2019-06-02 18:41:26
dt_strptime
この関数は、時間文字列をdatetimeオブジェクトに解析するために使用されます。
構文
dt_strptime(value, "format_string")
パラメーター
パラメーター
データ型
必須/任意
説明
value
String
必須
値または時間式。
fmt
String
任意
文字列の形式。The format of the string. 詳細については、「日付と時間のフォーマットディレクティブ」をご参照ください。
レスポンス
datetimeオブジェクトが返されます。
例
Raw log:
time: 2019/06/03 02-41-26 fmt: %Y/%m/%d %H-%M-%S
変換ルール:
e_set("dt_strptime",dt_strptime(v("time"),v("fmt")))
結果:
time: 2019/06/03 02-41-26 fmt: %Y/%m/%d %H-%M-%S dt_strptime: 2019-06-03 02:41:26
dt_currentstamp
この関数は、現在のUNIXタイムスタンプを返すために使用されます。
構文
dt_currentstamp(value, normalize='floor')
パラメーター
パラメーター
データ型
必須/任意
説明
value
String
必須
値または時間式。
正規化
String
任意
関数が結果を返す数値形式です。 有効な値:
floor
: 数値を最も近い整数に丸めます。 デフォルト値です。int
: 数値の整数部分を返します。round
: 数値を最も近い整数に丸めます。ceil
: 数値を最も近い整数に丸めます。
レスポンス
現在のUNIXタイムスタンプが返されます。
例
Raw log:
No default value
変換ルール:
e_set("dt_currentstamp",dt_currentstamp())
結果:
dt_currentstamp: 1656560437
dt_totimestamp
この関数は、datetimeオブジェクトをUNIXタイムスタンプに変換するために使用されます。
構文
dt_totimestamp(timeexpression)
パラメーター
パラメーター
データ型
必須/任意
説明
timeexpression
Datetime object
必須
変換するdatetimeオブジェクト。
レスポンス
UNIXタイムスタンプが返されます。
例
Raw log:
time: 2019-06-03 2:41:26
変換ルール:
e_set("dt_totimestamp",dt_totimestamp(dt_parse(v("time"))))
結果:
time: 2019-06-03 2:41:26 dt_totimestamp: 1559529686
dt_strftime
この関数は、datetimeオブジェクトを指定された形式の文字列に戻すために使用されます。
構文
dt_strftime(timeexpression, "format_string")
パラメーター
パラメーター
データ型
必須/任意
説明
timeexpression
Datetime object
必須
変換するdatetimeオブジェクト。
format_string
String
必須
文字列の形式。The format of the string. 詳細については、「日付と時間のフォーマットディレクティブ」をご参照ください。
レスポンス
フォーマットされた文字列が返されます。
例
時間フィールドの値を指定した形式の文字列に変換します。
Raw log:
time: 2019-06-03 2:41:26 fmt: %Y/%m/%d %H-%M-%S
変換ルール:
e_set("dt_strftime",dt_strftime(dt_parse(v("time")),v("fmt")))
結果:
time: 2019-06-03 2:41:26 fmt: %Y/%m/%d %H-%M-%S dt_strftime: 2019/06/03 02-41-26
dt_strftimestamp
この関数は、UNIXタイムスタンプを指定された形式の文字列に変換するために使用されます。
構文
dt_strftimestamp(value, fmt="format_string", tz=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String
必須
変換するUNIXタイムスタンプ。
fmt
String
必須
文字列の形式。The format of the string. 詳細については、「日付と時間のフォーマットディレクティブ」をご参照ください。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
レスポンス
フォーマットされた文字列が返されます。
例
例 1
Raw log:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S
変換ルール:
e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt")))
結果:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S dt_strftimestamp: 2019/06/02 18-41-26
例 2
Raw log:
time: 1559500886 fmt: %Y/%m/%d %H-%M-%S tz: Asia/Tokyo
変換ルール:
e_set("dt_strftimestamp",dt_strftimestamp(v("time"),v("fmt"),v("tz")))
結果:
dt_strftimestamp:2019/06/03 03-41-26 fmt:%Y/%m/%d %H-%M-%S time:1559500886 tz:Asia/Tokyo
dt_truncate
この関数は、指定された時間粒度に基づいて時間式の値または値から時間値を抽出するために使用されます。
構文
dt_truncate(value, unit='day')
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
unit
String
必須
取得する時間の粒度。 デフォルト値: day。 有効な値:
second
、minute
、<num>_minute
(例: 5_minute、19_minute、2_minute) 、hour
、day
、week
、month
、quarter
、half_year
、year
。レスポンス
抽出された時間値が返されます。
例
例 1
Raw log:
time: 2019-06-03 2:41:26 unit: year
変換ルール:
e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
結果:
time: 2019-06-03 2:41:26 unit: year dt_truncate: 2019-01-01 00:00:00
例 2
Raw log:
time: 2019-06-03 2:41:26 unit: hour
変換ルール:
e_set("dt_truncate",dt_truncate(v("time"),v("unit")))
結果:
time: 2019-06-03 2:41:26 unit: hour dt_truncate: 2019-06-03 02:00:00
dt_add
この関数は、指定された時間粒度に基づいて時間式の値または値を変更するために使用されます。
構文
dt_add(value, dt1=None, dt2=None, year(s)=None, month(s)=None, day(s)=None, hour(s)=None, minute(s)=None, second(s)=None, microsecond(s)=None, week(s)=None, weekday=None)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
datetime式。
dt1
String、UNIX timestamp、またはdatetimeオブジェクト
任意
datetime式。 デフォルト値 : なし。
dt2
String、UNIX timestamp、またはdatetimeオブジェクト
任意
datetime式。 デフォルト値 : なし。
年 /年
回
任意
年: 指定された時間内に年を置き換えるために使用される年。 たとえば、
year=2020
を設定できます。 デフォルト値 : なし。年: 指定された時間をオフセットする年数。 たとえば、
years=1
を設定した場合、この関数は年を1年増やします。
日 /日
回
任意
日: 指定された時間内の日を置き換えるために使用される日。 たとえば、
day=1
を設定できます。 デフォルト値 : なし。days: 指定した時間をオフセットする日数。 たとえば、
days=1
を設定した場合、この関数は日を1日増やします。
時間 /時間
回
任意
hour: 指定された時間内の時間を置き換えるために使用される時間。 たとえば、
hour=1
を設定できます。 デフォルト値 : なし。hours: 指定した時間をオフセットする時間数。 たとえば、
hours=1
を設定した場合、関数は時間を1時間増やします。
分 /分
回
任意
minute: 指定された時間内の分を置き換えるために使用される分。 たとえば、
minute=1
を設定できます。 デフォルト値 : なし。minutes: 指定した時間をオフセットする分数。 たとえば、
minutes=1
を設定した場合、この関数は分を1分増やします。
秒 /秒
回
任意
second: 指定された時間内に2番目を置き換えるために使用される2番目。 たとえば、
second=1
に設定できます。 デフォルト値 : なし。秒: 指定した時間をオフセットする秒数。 たとえば、
秒=1
を設定した場合、関数は秒を1秒増加させます。
マイクロ秒 /マイクロ秒
回
任意
microsecond: 指定された時間内にmicrosecondを置き換えるために使用されるmicrosecond。 たとえば、
microsecond=1
に設定できます。 デフォルト値 : なし。マイクロ秒: 指定した時間をオフセットするマイクロ秒の数。 たとえば、
マイクロ秒=1
を設定した場合、関数はマイクロ秒を1マイクロ秒増加させます。
週 /週
回
任意
週: 週である指定された時間一週間交換するために使用。 たとえば、
week=1
を設定できます。 デフォルト値 : なし。週: 指定された時間をオフセットする週数。 For例、
設定週間=1
、機能増加による週一週間。
平日
回
任意
指定された時間の平日を置き換えるために使用される平日。 たとえば、
weekday=dt_MO(1)
を設定できます。 デフォルト値 : なし。レスポンス
時間式の新しい値が返されます。
例
例 1
Raw log:
dt: 2018-10-10 1:2:3 dt1: 2018-11-3 11:12:13 dt2: 2018-10-1 10:10:10
変換ルール:
e_set("dt_add",dt_add(dt_parse(v("dt")), dt1=dt_parse(v("dt1")), dt2=dt_parse(v("dt2"))))
結果:
dt:2018-10-10 1:2:3 dt1:2018-11-3 11:12:13 dt2:2018-10-1 10:10:10 dt_add:2018-11-12 02:04:06
例 2
Raw log:
dt: 2018-10-11 02:03:04 year: 2019
変換ルール:
e_set("dt_add", dt_add(dt_parse(v("dt")), year=ct_int(v("year"))))
結果:
dt:2018-10-11 02:03:04 dt_add:2019-10-11 02:03:04 year:2019
dt_MO
この関数は、指定された時間を前または次の第N月曜日の同じ時間にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_MO(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
Raw log:
time: 2019-08-13 02:03:04
変換ルール:
e_set("dt_MO",dt_add(v("time"),weekday=dt_MO(1)))
結果:
time: 2019-08-13 02:03:04 dt_MO: 2019-08-19 02:03:04
dt_TU
この関数は、指定された時間を前または次の第N火曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_TU(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_WE
この関数は、指定された時間を前または次の第N水曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_WE(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_TH
この関数は、指定された時間を前または次の第N木曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_TH(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_FR
この関数は、指定された時間を前または次の第N金曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_FR(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_SA
この関数は、指定された時間を前または次の第N土曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_SA(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_SU
この関数は、指定された時間を前または次の第N日曜日の日付にオフセットするために使用されます。 オフセット値Nは、dt_add
関数のweekday
パラメーターに渡されます。
構文
dt_SU(Integer_or_negative)
パラメーター
パラメーター
データ型
必須/任意
説明
Integer_or_negative
回
必須
オフセット値。 負の整数を渡す場合は、
op_neg (正の整数)
を使用します。 たとえば、op_neg(1)
を使用して-1を示します。レスポンス
オフセットされた時間が返されます。
例
その他の例については、「dt_MO」をご参照ください。
dt_astimezone
この関数は、time式の値または値を指定されたタイムゾーンのdatetimeオブジェクトに変換するために使用されます。
構文
dt_astimezone(value, tz, reset=False)
パラメーター
パラメーター
データ型
必須/任意
説明
value
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
tz
String
任意
タイムゾーン。 デフォルト値 : なし。 詳細については、「Time zones」をご参照ください。
リセット
Bool
任意
タイムゾーンを変更するかどうかを指定します。 デフォルト値Falseは、datetimeオブジェクトが現在のタイムゾーンで返されることを指定します。 値Trueは、datetimeオブジェクトが指定されたタイムゾーンで返されることを指定します。
レスポンス
指定されたタイムゾーンのdatetimeオブジェクトが返されます。
例
例 1
Raw log:
time: 2019-06-03 2:41:26 tz: UTC
変換ルール:
e_set("dt_astimezone",dt_astimezone(dt_parse(v("time")), v("tz")))
結果:
time: 2019-06-03 2:41:26 tz: UTC dt_astimezone: 2019-06-03 02:41:26+00:00
例 2
Raw log:
time: 2019-06-01 10:10:10+10:00 tz: Asia/Tokyo
変換ルール:
e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=True))
結果:
time: 2019-06-01 10:10:10+10:00 tz: Asia/Tokyo dt_astimezone: 2019-06-01 10:10:10+09:00
例 3
Raw log:
time: 2019-06-01 10:10:10+08:00 tz: Asia/Tokyo
変換ルール:
e_set("dt_astimezone",dt_astimezone(v("time"), v("tz"),reset=False)) e_set("dt_astimezone_true",dt_astimezone(v("time"), v("tz"),reset=True))
結果:
dt_astimezone:2019-06-01 11:10:10+09:00 dt_astimezone_true:2019-06-01 10:10:10+09:00 time:2019-06-01 10:10:10+08:00 tz:Asia/Tokyo
dt_diff
この関数は、指定された時間粒度に基づいて、2つの値または2つの時間式の値の差を返すために使用されます。
構文
dt_diff(value1, value2, unit='second', normalize='floor')
パラメーター
パラメーター
データ型
必須/任意
説明
value1
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
value2
String、UNIX timestamp、またはdatetimeオブジェクト
必須
値または時間式。
unit
String
任意
関数が差分を返す時間の粒度。 デフォルト値:
second
有効な値: second、microsecond
、ミリ秒
、minutes
、hours
、およびday
正規化
String
任意
関数が結果を返す数値形式です。 有効な値:
floor
: 数値を最も近い整数に丸めます。 デフォルト値: floor。int
: 数値の整数部分を返します。round
: 小数点以下N桁を保持します。ceil
: 数値を最も近い整数に丸めます。
レスポンス
2つの値の差は、指定された時間粒度に基づいて返されます。
例
例1: time1フィールドの値とtime2フィールドの値の差を計算します。 単位は秒です。
Raw log:
time1: 2018-10-1 10:10:10 time2: 2018-10-1 10:10:10
変換ルール:
e_set("diff",dt_diff(v("time1"), v("time2")))
結果:
time1: 2018-10-1 10:10:10 time2: 2018-10-1 10:10:10 diff: 0
例2: time1フィールドの値とtime2フィールドの値の差を計算します。 単位は秒です。
Raw log:
time1: 2018-10-1 11:10:10 time2: 2018-10-1 10:10:10
変換ルール:
e_set("diff",dt_diff(v("time1"), v("time2")))
結果:
time1: 2018-10-1 11:10:10 time2: 2018-10-1 10:10:10 diff: 3600
例3: time1フィールドの値とtime2フィールドの値の差を計算します。 単位:マイクロ秒。
Raw log:
time1: 2018-10-1 11:10:11 time2: 2018-10-1 10:10:10 unit: microsecond
変換ルール:
e_set("diff",dt_diff(v("time1"), v("time2"),v("unit")))
結果:
diff:3601000000 time1:2018-10-1 11:10:11 time2:2018-10-1 10:10:10 unit:microsecond
例4: time1フィールドの値とtime2フィールドの値の差を計算し、戻り値を最も近い整数に丸める。 単位: 分。
Raw log:
time1: 2018-10-1 11:11:59 time2: 2018-10-1 10:10:00 unit: minute normalize: floor
変換ルール:
e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))
結果:
diff:61 normalize:floor time1:2018-10-1 11:11:59 time2:2018-10-1 10:10:00 unit:minute
例5: time1フィールドの値とtime2フィールドの値の差を計算し、戻り値を最も近い整数に丸める。 単位は秒です。
Raw log:
time1: 10:00:00 time2: 11:00:00 unit: second normalize: floor
変換ルール:
e_set("diff", dt_diff(v("time1"), v("time2"), v("unit"), v("normalize")))
結果:
diff:-3600 normalize:floor time1:10:00:00 time2:11:00:00 unit:second