日付関数 date-functions

日付関数を使用すると、ジャーニー式内で日時の値を操作して作業できます。 これらの関数は、カスタマージャーニーでの時間ベースの条件、スケジュール、時間計算に不可欠です。

日付関数は、次の操作が必要な場合に使用します。

日付関数は、時間ロジックを正確に制御し、特定の期間とスケジュールに応答する、時間依存のジャーニーパスと条件を作成できます。

NOTE
このページの関数は、ジャーニー式で使用できます。 now() などの一部の関数は、メールコンテンツのパーソナライゼーションエディターでは使用できません。 詳細情報

currentTimeInMillis currentTimeInMillis

現在の時刻をエポックミリ秒単位で返します。

構文
currentTimeInMillis()
パラメーター
この関数にパラメーターはありません。
シグネチャと戻り値のタイプ

currentTimeInMillis()

整数を返します。

currentTimeInMillis()

「1544712617131」を返します。

inLastDays inLastDays

指定された dateTime が現在の日時とその delta 日前の間にある場合、true を返します。

構文
inLastDays(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inLastDays(<dateTime>,<integer>)

ブール値を返します。

inLastDays(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inLastHours inLastHours

指定された日時が現在の日時とその delta 時間前の間にある場合、true を返します。

構文
inLastHours(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inLastHours(<dateTime>,<integer>)

ブール値を返します。

inLastHours(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inLastHours(@event{MyEvent.timestamp}, 4)

true を返します。

inLastMonths inLastMonths

指定された日付または日時が現在の日時とその delta か月前の間にある場合、true を返します。

構文
inLastMonths(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inLastMonths(<dateTime>,<integer>)

ブール値を返します。

inLastMonths(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inLastYears inLastYears

指定された日付または日時が現在の日時とその delta 年前の間にある場合、true を返します。

構文
inLastYears(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inLastYears(<dateTime>,<integer>)

ブール値を返します。

inLastYears(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inNextDays inNextDays

指定された日付または日時が現在の日時とその delta 日後の間にある場合、true を返します。

構文
inNextDays(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inNextDays(<dateTime>,<integer>)

ブール値を返します。

inNextDays(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inNextHours inNextHours

指定された日付または日時が現在と現在 + デルタ時間の間にある場合、true を返します。

構文
inNextHours(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inNextHours(<dateTime>,<integer>)

ブール値を返します。

inNextHours(toDateTime('2023-12-12T01:11:00Z'), 4)

true を返します。

inNextMonths inNextMonths

指定された日付または日時が現在の日時とその delta か月後の間にある場合、true を返します。

構文
inNextMonths(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inNextMonths(<dateTime>,<integer>)

ブール値を返します。

inNextMonths(toDateTime('2023-01-12T01:11:00Z'), 4)

true を返します。

inNextYears inNextYears

指定された日付または日時が現在の日時とその delta 年後の間にある場合、true を返します。

構文
inNextYears(<dateTime>,<delta>)
パラメーター
table 0-row-2 1-row-2 2-row-2
パラメーター タイプ
日時 日時
delta 整数
シグネチャと戻り値のタイプ

inNextYears(<dateTime>,<integer>)

ブール値を返します。

inNextYears(toDateTime('2021-12-12T01:11:00Z'), 4)

true を返します。

now now

現在の日付を日時形式で返します。 データタイプについて詳しくは、このページを参照してください。

NOTE
この関数は、ジャーニー式でのみ使用できます。 メールのパーソナライゼーションやその他のコンテンツには、代わりに getCurrentZonedDateTime() を使用します。 詳細情報
構文
now(<parameter>)
パラメーター
table 0-row-2 1-row-2
パラメーター 説明
文字列 タイムゾーン識別子(オプション)
シグネチャと戻り値のタイプ

now()

now("<timeZone id>")

日時を返します。

now()

2023-06-03T06:30Z を返します。

toString(now())

“2023-06-03T06:30Z” を返します。

now("Europe/Paris")

2023-06-03T08:30+02:00 を返します。

nowWithDelta nowWithDelta

オフセットを含んだ現在の日時を返します。 タイムゾーン ID を指定した場合は、タイムゾーンオフセットが適用されます。 データタイプについて詳しくは、このページを参照してください。

構文
nowWithDelta(<parameters>)
パラメーター
table 0-row-2 1-row-2 2-row-2 3-row-2
パラメーター 説明
delta 正または負の整数値
日時の構成要素 「years」、「months」、「days」、「hours」、「minutes」、「seconds」のいずれかを文字列として指定します
タイムゾーン ID タイムゾーン値の文字列表現。 詳しくは、データタイプを参照してください。 タイムゾーン ID は文字列定数である必要があります。 フィールド参照や式は使用できません。
シグネチャと戻り値のタイプ

nowWithDelta(<delta>,<date part>

nowWithDelta(<delta>,<date part>,"<timeZone id>")

日時を返します。

nowWithDelta(-2, "hours")

nowWithDelta(-2, "hours", "Europe/Paris")

正確に 2 時間前の日時を返します。

nowWithDelta(1, "months", "Asia/Tokyo")

2026-01-31で評価すると、2026-02-28T…を返し、2026-05-31で評価すると、2026-06-30T…

nowWithDelta()は暦月の算術を使用します。 目標月の日数が現在の曜日より少ない場合、その月の最後の有効な日に正規化されます。 関数は翌月にロールオーバーされません。

setHours setHours

日時または日時のみの時を設定します。 例えば、明日の特定の正時まで待つ場合に、その正時を強制的に指定できます。

構文
setHours(<parameter>)
パラメーター
table 0-row-2 1-row-2 2-row-2 3-row-2
パラメーター タイプ
日時 日時
タイムゾーンを考慮しない日時 dateTimeOnly
整数
シグネチャと戻り値のタイプ

setHours(<dateTime>,<hours>)

日時を返します。

setHours(<dateTimeOnly>,<hours>)

タイムゾーンを無視して日時を返します。

setHours(toDateTime('2023-12-12T01:11:00Z'), 4)

2023-12-12T04:11:00Z を返します。

setHours(nowWithDelta(1, "days"), 20)

明日の午後 8:XY を返します(XY は現在時刻の分)。 評価が午前 2:45 に行われた場合、返される時刻は午後 8:45 になります。

setDays setDays

日時または日時のみの日を設定します。 例えば、その月の特定の日まで待つ場合に、その日を強制的に指定できます。

構文
setDays(<parameter>)
パラメーター
table 0-row-2 1-row-2 2-row-2 3-row-2
パラメーター タイプ
日時 日時
タイムゾーンを考慮しない日時 dateTimeOnly
整数
シグネチャと戻り値のタイプ

setDays(<dateTime>,<days>)

日時を返します。

setDays(<dateTimeOnly>,<days>)

タイムゾーンを無視して日時を返します。

setDays(toDateTime('2023-12-12T01:11:00Z'), 25)

2023-12-25T01:11:00Z を返します。

setDays(toDateTimeOnly(@event{MyEvent.registrationDate}), 1)

updateTimeZone updateTimeZone

新しいタイムゾーンで、同じ瞬間の新しい日時を返します。

構文
updateTimeZone(<parameters>)
パラメーター
  • タイムゾーン ID:文字列
  • 日時
シグネチャと戻り値のタイプ

updateTimeZone(<dateTime>,<timeZone id>)

日時を返します。

updateTimeZone( toDateTime("2023-08-28T08:15:30.123-07:00"), "Europe/Paris"))

2023-08-28T17:15:30.123+02:00 を返します。

updateTimeZone(@event{MyExpEvent.timestamp}, "Australia/Sydney")

「timestamp」フィールドの値が 2021-11-16T16:55:12.939318+01:00 の場合、この関数は 2021-11-17T02:55:12.942115+11:00 を返します。

AI ナレッジリファレンス

このセクションには、このトピックに関連する解釈、検索、質問への回答をサポートすることを目的とした構造化された知識が含まれています。

理解を深めるには、この情報をこのページのドキュメントと組み合わせる必要があります。 どちらのソースも単独で使用することを意図していません。このページでは、機能について説明しますが、この節では、用語、意図、適用可能性、および制約の曖昧さを解消するのに役立つ追加のコンテキストを提供します。

  • TL;DR:​このページでは、AJO ジャーニー式で使用できるすべての日付関数と時刻関数について説明します。現在の時刻を取得する方法、日付が相対時間枠内にあるかどうかを確認する方法、日付/時刻コンポーネントを変更する方法について説明します。

インテント:

  • nowまたはnowWithDeltaを使用して、現在の日時(オプションのタイムゾーン付き)を取得します
  • currentTimeInMillisを使用して、現在の時間をエポック整数として取得します
  • inLastDaysinLastHoursinLastMonthsinLastYearsを使用して、過去N日間、時間、月、または年内に日時が含まれているかどうかを確認します
  • inNextDaysinNextHoursinNextMonthsinNextYearsを使用して、日付が次のN日、時間、月、または年内に含まれるかどうかを確認します
  • setHoursまたはsetDaysを使用して、特定の時間または日を日付値に強制的に設定します
  • updateTimeZoneを使用して同じインスタントを保持しながら、日時を別のタイムゾーンに変換します

用語集:

  • dateTime: タイムゾーンオフセット情報​ (製品固有) ​を含む日時の値
  • dateTimeOnly: タイムゾーン情報のない日時の値​(製品固有)
  • エポックミリ秒: 1970-01-01T00:00:00Zから経過したミリ秒数を表す整数
  • delta:現在の時間を年、月、日、時間、分、秒の数だけシフトするためにnowWithDeltaで使用される整数オフセット(正または負)

ガードレール:

  • now()はジャーニー式でのみ使用できます。メールのパーソナライゼーションには、代わりにgetCurrentZonedDateTime()を使用してください
  • nowWithDeltaのタイムゾーン IDは文字列定数である必要があります。フィールド参照と動的式はサポートされていません
  • updateTimeZoneのタイムゾーン IDは文字列定数である必要があります

用語:

  • 正規名:日付関数 – 頭字語:なし – バリアント:日時関数、時間関数
  • 同義語:“now ()” = “current datetime”; “currentTimeInMillis ()” = “current epoch milliseconds”
  • 混同しないでください:“inLastDays” (時間を振り返る) ≠ “inNextDays” (時間を進める)
  • 混同しないでください。「setHours」(時間コンポーネントに代わる)≠「nowWithDelta」(現在の時間をオフセットする)
  • 「updateTimeZone」(同じインスタント、異なるタイムゾーン表現)≠「setHours」(時間値自体を変更)は混同しないでください

FAQ:

  • Q: メールのパーソナライゼーションコンテンツでnow()を使用できますか?now()はジャーニー式でのみ使用できます。 電子メールのパーソナライゼーションにgetCurrentZonedDateTime()を使用します。
  • Q:過去24時間にイベントが発生したかどうかを確認するにはどうすればよいですか?inLastHours(@event{MyEvent.timestamp}, 24)を使用します。
  • Q:過去に2時間オフセットした現在の時間を取得するにはどうすればよいですか?nowWithDelta(-2, "hours")を使用します。
  • Q: updateTimeZonesetHoursの違いは何ですか?updateTimeZoneは同じ時刻を保持しますが、別のタイムゾーンで表現します。一方、setHoursは実際に日時の値の時間コンポーネントを変更します。
  • Q: nowWithDeltaのタイムゾーンパラメーターをプロファイルフィールドにすることはできますか? – いいえ、タイムゾーン IDは文字列定数である必要があります。フィールド参照はサポートされていません。
  • Q: nowWithDelta()が月と共に使用され、現在の日付が月末日である場合はどうなりますか? – 関数はカレンダー月算術を使用し、結果を目標月の最後の有効な日に正規化します。 例えば、1月31日に1か月を追加すると、3月3日ではなく2月28日が返されます。
recommendation-more-help
journey-optimizer-help