Datumsfunktionen date-functions

Mit Datumsfunktionen können Sie Datums- und Uhrzeitwerte in Ihren Journey-Ausdrücken bearbeiten. Diese Funktionen sind für zeitbasierte Bedingungen, Zeitpläne und zeitliche Berechnungen in Ihren Customer Journeys unerlässlich.

Verwenden Sie Datumsfunktionen, wenn Sie Folgendes tun müssen:

Datumsfunktionen bieten eine präzise Kontrolle über die zeitliche Logik, sodass Sie zeitabhängige Journey-Pfade und Bedingungen erstellen können, die auf bestimmte Zeitrahmen und Zeitpläne reagieren.

NOTE
Die Funktionen auf dieser Seite sind in Journey-Ausdrücken verfügbar. Einige Funktionen wie now() sind im Personalisierungseditor für E-Mail-Inhalte nicht verfügbar. Weitere Informationen

currentTimeInMillis currentTimeInMillis

Gibt die aktuelle Zeit in Epoch-Millisekunden zurück.

Syntax
currentTimeInMillis()
Parameter
Diese Funktion verwendet keine Parameter.
Signaturen und zurückgegebener Typ

currentTimeInMillis()

Gibt eine Ganzzahl zurück.

Beispiele

currentTimeInMillis()

Gibt „1544712617131“ zurück.

Datumsdifferenz dateDiff

Gibt die Differenz zwischen zwei Daten oder Datums-/Uhrzeitwerten desselben Typs zurück. Die Einheit des Ergebnisses hängt vom Parametertyp ab: dateOnly Parameter geben die Differenz in Tagen zurück, während dateTimeOnly und dateTime die Differenz in Millisekunden zurückgeben. Gibt null zurück, wenn einer der Parameter null ist.

NOTE
Dies ist eine andere Funktion als die im Personalisierungseditor dateDiff Funktion. Die Version des Personalisierungseditors akzeptiert nur dateTime Parameter und gibt immer die Differenz in Tagen zurück.
Syntax
dateDiff(<date1>,<date2>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum 1 dateOnly, dateTimeOnly oder dateTime
Datum 2 dateOnly, dateTimeOnly oder dateTime

Beide Parameter müssen denselben Datentyp verwenden. Das Mischen von Typen (z. B. dateOnly mit dateTime) wird nicht unterstützt. Parameter können literale Datumswerte, andere Funktionen wie now() oder kontextuelle Attribute (Ereignis-Payload-Felder, Felder für benutzerdefinierte Aktionsantworten, Profil- oder Entitätsfelder und Variablen) sein, solange sie als dateOnly, dateTimeOnly oder dateTime eingegeben werden.

Signaturen und zurückgegebener Typ

dateDiff(<dateOnly>,<dateOnly>)

Gibt eine Ganzzahl zurück, die die Anzahl der Tage zwischen den beiden Datumsangaben darstellt.

dateDiff(<dateTimeOnly>,<dateTimeOnly>)

Gibt eine Ganzzahl zurück, die die Anzahl der Millisekunden zwischen den beiden Datums-/Uhrzeitwerten darstellt.

dateDiff(<dateTime>,<dateTime>)

Gibt eine Ganzzahl zurück, die die Anzahl der Millisekunden zwischen den beiden Datums-/Uhrzeitwerten darstellt.

Beispiele

dateDiff(toDateOnly('2023-12-15'), toDateOnly('2023-12-12'))

Gibt 3 (Tage) zurück.

dateDiff(toDateTimeOnly('2023-12-15T00:00:00'), toDateTimeOnly('2023-12-12T00:00:00'))

Gibt 259200000 zurück (Millisekunden, entsprechend 3 Tagen).

dateDiff(now(), toDateTime('2024-12-25T00:00:00Z'))

Gibt die Anzahl der Millisekunden zwischen heute und dem 25. Dezember 2024 zurück.

dateDiff(#{ExperiencePlatform.ProfileFieldGroup.person.birthDate}, toDateOnly('2023-01-01'))

Gibt die Anzahl der Tage zwischen dem birthDate des Profils und dem 1. Januar 2023 zurück, vorausgesetzt, birthDate wird als dateOnly eingegeben.

inLastDays inLastDays

Gibt „true“ zurück, wenn ein bestimmtes „dateTime“ zwischen jetzt und jetzt-Delta-Tage liegt.

Syntax
inLastDays(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inLastDays(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inLastHours inLastHours

Gibt „true“ zurück, wenn der angegebene Datum/Uhrzeit-Wert zwischen jetzt und jetzt – delta Stunden liegt.

Syntax
inLastHours(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inLastHours(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

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

Gibt „true“ zurück.

inLastMonths inLastMonths

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt – delta Monaten liegt.

Syntax
inLastMonths(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inLastMonths(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inLastYears inLastYears

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt – delta Jahren liegt.

Syntax
inLastYears(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inLastYears(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inNextDays inNextDays

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt + delta Tagen liegt.

Syntax
inNextDays(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inNextDays(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inNextHours inNextHours

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt + delta Stunden liegt.

Syntax
inNextHours(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inNextHours(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inNextMonths inNextMonths

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt + delta Monaten liegt.

Syntax
inNextMonths(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inNextMonths(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

inNextYears inNextYears

Gibt „true“ zurück, wenn der angegebene Datums- bzw. Datum-/Uhrzeit-Wert zwischen jetzt und jetzt + delta Jahren liegt.

Syntax
inNextYears(<dateTime>,<delta>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit dateTime
delta integer
Signaturen und zurückgegebener Typ

inNextYears(<dateTime>,<integer>)

Gibt einen booleschen Wert zurück.

Beispiele

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

Gibt „true“ zurück.

now now

Gibt das aktuelle Datum im Datum/Uhrzeit-Format zurück. Weitere Informationen zu Datentypen finden Sie auf dieser Seite.

NOTE
Diese Funktion ist nur in Journey-Ausdrücken verfügbar. Verwenden Sie für die Personalisierung von E-Mails und andere Inhalte stattdessen getCurrentZonedDateTime(). Weitere Informationen
Syntax
now(<parameter>)
Parameter
table 0-row-2 1-row-2
Parameter Beschreibung
string Zeitzonenkennung (optional)
Signaturen und zurückgegebener Typ

now()

now("<timeZone id>")

Gibt einen Datum/Uhrzeit-Wert zurück.

Beispiele

now()

Gibt 2023-06-03T06:30Z zurück.

toString(now())

Gibt „2023-06-03T06:30Z“ zurück

now("Europe/Paris")

Gibt 2023-06-03T08:30+02:00 zurück.

nowWithDelta nowWithDelta

Gibt den aktuellen Datum/Uhrzeit-Wert einschließlich Verschiebung zurück. Wenn eine Zeitzonen-ID angegeben wird, wird die Zeitzonenverschiebung angewendet. Weitere Informationen zu Datentypen finden Sie auf dieser Seite.

Syntax
nowWithDelta(<parameters>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2
Parameter Beschreibung
delta positiver oder negativer Ganzzahlwert
date part Jahre, Monate, Tage, Stunden, Minuten oder Sekunden als Zeichenfolge
Zeitzonen-ID Zeichenfolgendarstellung des Zeitzonenwerts. Weitere Informationen finden Sie unter Datentypen. Die Zeitzonen-ID muss eine Zeichenfolgenkonstante sein. Er darf weder ein Feldverweis noch ein Ausdruck sein.
Signaturen und zurückgegebener Typ

nowWithDelta(<delta>,<date part>

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

Gibt einen Datum/Uhrzeit-Wert zurück.

Beispiele

nowWithDelta(-2, "hours")

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

Gibt einen Datum/Uhrzeit-Wert von vor genau 2 Stunden zurück.

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

Wenn am 31.01.2026 ausgewertet, wird der Wert 2026-02-28T zurückgegeben…; wenn er am 31.05.2026 ausgewertet wird, wird der Wert 2026.06.30T zurückgegeben…

nowWithDelta() verwendet die Kalendermonatsarithmetik. Wenn der Zielmonat weniger Tage als der aktuelle Tag des Monats hat, wird das Ergebnis auf den letzten gültigen Tag dieses Monats normalisiert. Die Funktion wird nicht auf den folgenden Monat übertragen.

setHours setHours

Legt die Stunden eines Datum/Uhrzeit-Werts oder Datum/Uhrzeit-Werts ohne Zeitzone fest. Wenn Sie beispielsweise morgen bis zu einer bestimmten Stunde warten möchten, können Sie die Stunde erzwingen.

Syntax
setHours(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2
Parameter Typ
Datum/Uhrzeit dateTime
Datum/Uhrzeit ohne Berücksichtigung der Zeitzone dateTimeOnly
Stunden integer
Signaturen und zurückgegebener Typ

setHours(<dateTime>,<hours>)

Gibt einen Datum/Uhrzeit-Wert zurück.

setHours(<dateTimeOnly>,<hours>)

Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.

Beispiele

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

Gibt 2023-12-12T04:11:00Z zurück.

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

Gibt morgen um 20::XY Uhr zurück, wobei XY die Minuten zum Zeitpunkt der aktuellen Zeitauswertung darstellt. Wenn die Auswertung um 2:45 Uhr erfolgt, ist die zurückgegebene Zeit 20:45 Uhr.

setDays setDays

Legt den Tag eines Datum/Uhrzeit-Werts oder Datum/Uhrzeit-Werts ohne Zeitzone fest. Wenn Sie beispielsweise bis zu einem bestimmten Tag des Monats warten möchten, können Sie den Tag erzwingen.

Syntax
setDays(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2
Parameter Typ
Datum/Uhrzeit dateTime
Datum/Uhrzeit ohne Berücksichtigung der Zeitzone dateTimeOnly
Tage integer
Signaturen und zurückgegebener Typ

setDays(<dateTime>,<days>)

Gibt einen Datum/Uhrzeit-Wert zurück.

setDays(<dateTimeOnly>,<days>)

Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.

Beispiele

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

Gibt 2023-12-25T01:11:00Z zurück.

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

updateTimeZone updateTimeZone

Gibt einen neuen Datum-/Uhrzeit-Wert mit einer neuen Zeitzone im selben Moment zurück.

Syntax
updateTimeZone(<parameters>)
Parameter
  • Zeitzonen-ID: string
  • dateTime
Signatur und zurückgegebener Typ

updateTimeZone(<dateTime>,<timeZone id>)

Gibt einen Datum/Uhrzeit-Wert zurück.

Beispiele

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

Gibt 2023-08-28T17:15:30.123+02:00 zurück.

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

Wenn der Wert des Zeitstempelfelds 2021-11-16T16:55:12.939318+01:00 ist, gibt die Funktion 2021-11-17T02:55:12.942115+11:00 zurück.

AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page documents all date and time functions available in AJO journey expressions, covering how to get the current time, check whether a date falls within a relative time window, and modify date/time components.

Intents:

  • Get the current datetime (with optional timezone) using now or nowWithDelta
  • Retrieve the current time as an epoch integer using currentTimeInMillis
  • Calculate the difference between two dates or date-times using dateDiff
  • Check if a datetime falls within the last N days, hours, months, or years using inLastDays, inLastHours, inLastMonths, inLastYears
  • Check if a datetime falls within the next N days, hours, months, or years using inNextDays, inNextHours, inNextMonths, inNextYears
  • Force a specific hour or day of the month on a datetime value using setHours or setDays
  • Convert a datetime to a different timezone while preserving the same instant using updateTimeZone

Glossary:

  • dateOnly: A date value with no time or timezone information (product-specific)
  • dateTime: A date-time value that includes timezone offset information (product-specific)
  • dateTimeOnly: A date-time value with no timezone information (product-specific)
  • epoch milliseconds: An integer representing the number of milliseconds elapsed since 1970-01-01T00:00:00Z
  • delta: An integer offset (positive or negative) used with nowWithDelta to shift the current time by a number of years, months, days, hours, minutes, or seconds

Guardrails:

  • now() is only available in journey expressions; for email personalization use getCurrentZonedDateTime() instead
  • The timezone ID in nowWithDelta must be a string constant — field references and dynamic expressions are not supported
  • The timezone ID in updateTimeZone must be a string constant
  • dateDiff requires both parameters to be the same data type (dateOnly, dateTimeOnly, or dateTime); mixing types is not supported
  • dateDiff returns null if either parameter is null
  • dateDiff returns days for dateOnly parameters, but milliseconds (not days) for dateTimeOnly and dateTime parameters — convert accordingly when comparing results across types

Terminology:

  • Canonical name: Date functions — Acronym: none — variants: date-time functions, temporal functions
  • Synonyms: “now()” = “current datetime”; “currentTimeInMillis()” = “current epoch milliseconds”
  • Do not confuse: “inLastDays” (looks back in time) ≠ “inNextDays” (looks forward in time)
  • Do not confuse: “setHours” (replaces the hour component) ≠ “nowWithDelta” (offsets the current time)
  • Do not confuse: “updateTimeZone” (same instant, different timezone representation) ≠ “setHours” (changes the time value itself)
  • Do not confuse: the journey expression editor’s dateDiff (accepts dateOnly, dateTimeOnly, or dateTime; returns days or milliseconds depending on type) ≠ the personalization editor’s dateDiff (accepts only dateTime; always returns days)

FAQ:

  • Q: Can I use now() in email personalization content? — No, now() is only available in journey expressions. Use getCurrentZonedDateTime() for email personalization.
  • Q: How do I check if an event happened in the last 24 hours? — Use inLastHours(@event{MyEvent.timestamp}, 24).
  • Q: How do I get the current time offset by 2 hours in the past? — Use nowWithDelta(-2, "hours").
  • Q: What does updateTimeZone do differently from setHours?updateTimeZone keeps the same instant in time but expresses it in a different timezone, while setHours actually changes the hour component of the datetime value.
  • Q: Can the timezone parameter in nowWithDelta be a profile field? — No, the timezone ID must be a string constant; field references are not supported.
  • Q: What happens when nowWithDelta() is used with months and the current date is a month-end date? — The function uses calendar-month arithmetic and normalizes the result to the last valid day of the target month. For example, adding 1 month to January 31 returns February 28 (not March 3).
recommendation-more-help
journey-optimizer-help