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:
- Abrufen der aktuellen Zeit oder des aktuellen Datums im Kontext einer bestimmten Zeitzone (now, nowWithDelta, currentTimeInMillis)
- Berechnen Sie die Differenz zwischen zwei Daten oder Datums-Uhrzeiten in Tagen oder Millisekunden, je nach Parametertyp (dateDiff)
- Überprüfen, ob ein Datum in einen bestimmten Zeitbereich fällt (inLastDays, inLastHours, inLastMonths, inLastYears, inNextDays, inNextHours, inNextMonths, inNextYears)
- Ändern von Datums- und Zeitkomponenten (setHours, setDays, updateTimeZone)
- Durchführen von zeitbasierten Berechnungen und Vergleichen
- Konvertieren zwischen verschiedenen Zeitformaten und Darstellungen
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.
now() sind im Personalisierungseditor für E-Mail-Inhalte nicht verfügbar. Weitere InformationencurrentTimeInMillis currentTimeInMillis
Gibt die aktuelle Zeit in Epoch-Millisekunden zurück.
currentTimeInMillis()currentTimeInMillis()
Gibt eine Ganzzahl zurück.
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.
dateDiff Funktion. Die Version des Personalisierungseditors akzeptiert nur dateTime Parameter und gibt immer die Differenz in Tagen zurück.dateDiff(<date1>,<date2>)| 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.
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.
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.
inLastDays(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inLastDays(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inLastHours(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inLastHours(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inLastMonths(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inLastMonths(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inLastYears(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inLastYears(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inNextDays(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inNextDays(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inNextHours(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inNextHours(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inNextMonths(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inNextMonths(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
inNextYears(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Parameter | Typ |
| Datum/Uhrzeit | dateTime |
| delta | integer |
inNextYears(<dateTime>,<integer>)
Gibt einen booleschen Wert zurück.
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.
getCurrentZonedDateTime(). Weitere Informationennow(<parameter>)| table 0-row-2 1-row-2 | |
|---|---|
| Parameter | Beschreibung |
| string | Zeitzonenkennung (optional) |
now()
now("<timeZone id>")
Gibt einen Datum/Uhrzeit-Wert zurück.
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.
nowWithDelta(<parameters>)| 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. |
nowWithDelta(<delta>,<date part>
nowWithDelta(<delta>,<date part>,"<timeZone id>")
Gibt einen Datum/Uhrzeit-Wert zurück.
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.
setHours(<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 |
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.
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.
setDays(<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 |
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.
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.
updateTimeZone(<parameters>)- Zeitzonen-ID: string
- dateTime
updateTimeZone(<dateTime>,<timeZone id>)
Gibt einen Datum/Uhrzeit-Wert zurück.
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.
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
nowornowWithDelta - 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
setHoursorsetDays - 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
nowWithDeltato 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 usegetCurrentZonedDateTime()instead- The timezone ID in
nowWithDeltamust be a string constant — field references and dynamic expressions are not supported - The timezone ID in
updateTimeZonemust be a string constant dateDiffrequires both parameters to be the same data type (dateOnly,dateTimeOnly, ordateTime); mixing types is not supporteddateDiffreturnsnullif either parameter isnulldateDiffreturns days fordateOnlyparameters, but milliseconds (not days) fordateTimeOnlyanddateTimeparameters — 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(acceptsdateOnly,dateTimeOnly, ordateTime; returns days or milliseconds depending on type) ≠ the personalization editor’sdateDiff(accepts onlydateTime; always returns days)
FAQ:
- Q: Can I use
now()in email personalization content? — No,now()is only available in journey expressions. UsegetCurrentZonedDateTime()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
updateTimeZonedo differently fromsetHours? —updateTimeZonekeeps the same instant in time but expresses it in a different timezone, whilesetHoursactually changes the hour component of the datetime value. - Q: Can the timezone parameter in
nowWithDeltabe 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).