Datums-/Uhrzeitfunktionen date-time
Mit Datums- und Uhrzeitfunktionen können Datums- und Uhrzeitvorgänge für Werte in Journey Optimizer durchgeführt werden.
now() ist im Personalisierungseditor nicht verfügbar. Verwenden Sie stattdessen getCurrentZonedDateTime() oder currentTimeInMillis() für aktuelle Datums-/Uhrzeitwerte. Weitere InformationenTage hinzufügen add-days
Die Funktion addDays passt ein bestimmtes Datum um eine angegebene Anzahl von Tagen an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addDays(date, number) %}
- Eingabe:
{%= addDays(stringToDate("2024-11-01T17:19:51Z"),10) %} - Ausgabe:
2024-11-11T17:19:51Z
Stunden hinzufügen add-hours
Die Funktion addHours passt ein bestimmtes Datum um eine angegebene Anzahl von Stunden an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addHours(date, number) %}
- Eingabe:
{%= addHours(stringToDate("2024-11-01T17:19:51Z"),1) %} - Ausgabe:
2024-11-01T18:19:51Z
Minuten hinzufügen add-minutes
Die Funktion addMinutes passt ein bestimmtes Datum um eine angegebene Anzahl von Minuten an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addMinutes(date, number) %}
- Eingabe:
{%= addMinutes(stringToDate("2024-11-01T17:59:51Z"),10) %} - Ausgabe:
2024-11-01T18:09:51Z
Monate hinzufügen add-months
Die Funktion addMonths passt ein bestimmtes Datum um eine angegebene Anzahl von Monaten an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addMonths(date, number) %}
- Eingabe:
{%= addMonths(stringToDate("2024-11-01T17:19:51Z"),2) %} - Ausgabe:
2025-01-01T17:19:51Z
Sekunden hinzufügen add-seconds
Die Funktion addSeconds passt ein bestimmtes Datum um eine angegebene Anzahl von Sekunden an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addSeconds(date, number) %}
- Eingabe:
{%= addSeconds(stringToDate("2024-11-01T17:19:51Z"),10) %} - Ausgabe:
2024-11-01T17:20:01Z
Jahre hinzufügen add-years
Die Funktion addYears passt ein bestimmtes Datum um eine angegebene Anzahl von Jahren an, wobei positive Werte zum Erhöhen und negative Werte zum Verringern verwendet werden.
Syntax
{%= addYears(date, number) %}
- Eingabe:
{%= addYears(stringToDate("2024-11-01T17:19:51Z"),2) %} - Ausgabe:
2026-11-01T17:19:51Z
Alter age
Die age-Funktion wird verwendet, um das Alter zu einem bestimmten Datum abzurufen.
Syntax
{%= age(datetime) %}
Alter in Tagen age-days
Die Funktion ageInDays berechnet das Alter eines bestimmten Datums in Tagen, d. h. die Anzahl der Tage, die zwischen dem angegebenen und dem aktuellen Datum verstrichen sind, wobei für zukünftige Datumswerte ein negativer und für vergangene Datumswerte ein positiver Wert gilt.
Syntax
{%= ageInDays(date) %}
currentDate = 2025-01-07T12:17:10.720122+05:30 (Asia/Kolkata)
- Eingabe:
{%= ageInDays(stringToDate("2025-01-01T17:19:51Z"))%} - Ausgabe:
5
Alter in Monaten age-months
Die Funktion ageInMonths berechnet das Alter eines bestimmten Datums in Monaten, d. h. die Anzahl der Monate, die zwischen dem angegebenen und dem aktuellen Datum verstrichen sind, wobei für zukünftige Datumswerte ein negativer und für vergangene Datumswerte ein positiver Wert gilt.
Syntax
{%= ageInMonths(date) %}
currentDate = 2025-01-07T12:22:46.993748+05:30(Asia/Kolkata)
- Eingabe:
{%=ageInMonths(stringToDate("2024-01-01T00:00:00Z"))%} - Ausgabe:
12
Daten vergleichen compare-dates
Die Funktion compareDates vergleicht das erste Eingabedatum mit einem anderen. Gibt 0 zurück, wenn date1 gleich date2 ist, -1, wenn date1 vor date2 liegt, und 1, wenn date1 nach date2 liegt.
Syntax
{%= compareDates(date1, date2) %}
- Eingabe:
{%=compareDates(stringToDate("2024-12-02T00:00:00Z"), stringToDate("2024-12-03T00:00:00Z"))%} - Ausgabe:
-1
Uhrzeit-/Datumsangabe in eine bestimmte Zeitzone umwandeln convert-zoned-date-time
Die Funktion convertZonedDateTime wandelt eine Datums-/Uhrzeitangabe in eine bestimmte Zeitzone um.
Syntax
{%= convertZonedDateTime(dateTime, timezone) %}
- Eingabe:
{%=convertZonedDateTime(stringToDate("2019-02-19T08:09:00Z"), "Asia/Tehran")%} - Ausgabe:
2019-02-19T11:39+03:30[Asia/Tehran]
Aktuelle Zeit in Millisekunden current-time
Die currentTimeInMillis-Funktion wird verwendet, um die aktuelle Zeit in Epochenmillisekunden abzurufen.
Syntax
{%= currentTimeInMillis() %}
Datumsunterschied date-diff
Die dateDiff-Funktion wird verwendet, um die Differenz zwischen zwei Daten als Anzahl von Tagen abzurufen.
Syntax
{%= dateDiff(datetime,datetime) %}
Mit dem folgenden Vorgang wird die Anzahl der Tage zwischen heute und einem zukünftigen Datum zurückgegeben, das im Profil gespeichert ist (z. B. Enddatum eines Abonnements oder Datum eines Ereignisses):
| code language-sql |
|---|
|
Verwenden Sie dateDiff, um einen dynamischen Countdown für E-Mail-Betreffzeilen oder -Inhalte zu erstellen:
| code language-handlebars |
|---|
|
Ausgabe (Beispiel): Your points expire in 7 days — use them before they're gone!
Datum zwischen date-between
Die Funktion dateBetween prüft, ob ein bestimmtes Datum zwischen einem Start- und einem Enddatum liegt, einschließlich für beide Grenzen.
Syntax
{%= dateBetween(date, startDate, endDate) %}
datestartDateendDate++Beispiel
- Eingabe:
{%= dateBetween(stringToDate("2024-06-15T00:00:00Z"), stringToDate("2024-06-01T00:00:00Z"), stringToDate("2024-06-30T00:00:00Z")) %} - Ausgabe:
true
++
Tag des Monats day-month
Die Funktion dayOfMonth gibt die Zahl zurück, die dem Tag des Monats entspricht.
Syntax
{%= dayOfMonth(datetime) %}
- Eingabe:
{%= dayOfMonth(stringToDate("2024-11-05T17:19:51Z")) %} - Ausgabe:
5
Wochentag day-week
Die dayOfWeek-Funktion wird zum Abrufen des Wochentags verwendet. Sie gibt eine Ganzzahl zwischen 1 (Montag) und 7 (Sonntag) zurück, die der Norm ISO-8601 folgt.
Syntax
{%= dayOfWeek(datetime) %}
Verwenden Sie diese Funktion innerhalb von E-Mails oder Inhalten, um das Messaging je nach Tag anzupassen. Der Vergleichsoperator in PQL ist = (einfaches Gleichheitszeichen, nicht ==):
| code language-handlebars |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 | |
|---|---|
| Day | Zurückgegebener Wert |
| Montag | 1 |
| Dienstag | 2 |
| Mittwoch | 3 |
| Donnerstag | 4 |
| Freitag | 5 |
| Samstag | 6 |
| Sonntag | 7 |
dayOfWeek() wurde für die Content-Personalisierung entwickelt (z. B. Anpassung des E-Mail-Textkörpers auf Grundlage des Tages). Wenn Sie Profile abhängig vom Wochentag unterschiedlich in einer Journey weiterleiten müssen (z. B. Wochenenden mit Warteaktivität auslassen), verwenden Sie die integrierte Option Zeitbedingung > Wochentag direkt in der Aktivität „Bedingung“ der Journey. Weitere InformationenTag des Jahres day-year
Die dayOfYear-Funktion wird zum Abrufen des Tages des Jahres verwendet.
Syntax
{%= dayOfYear(datetime) %}
- Eingabe:
{%= dayOfYear(stringToDate("2024-03-15T00:00:00Z")) %} - Ausgabe:
75
Unterschied in Sekunden diff-seconds
Die Funktion diffInSeconds gibt den Unterschied zwischen zwei Daten in Form von Sekunden zurück.
Syntax
{%= diffInSeconds(endDate, startDate) %}
- Eingabe:
{%=diffInSeconds(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T17:19:01Z"))%} - Ausgabe:
50
Stunden extrahieren extract-hours
Die Funktion extractHours extrahiert die Stundenkomponente aus einem bestimmten Zeitstempel.
Syntax
{%= extractHours(date) %}
- Eingabe:
{%= extractHours(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
17
Minuten extrahieren extract-minutes
Die Funktion extractMinutes extrahiert die Minutenkomponente aus einem bestimmten Zeitstempel.
Syntax
{%= extractMinutes(date) %}
- Eingabe:
{%= extractMinutes(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
19
Kombinieren Sie extractHours und extractMinutes, um nur den Zeitteil ohne Datum, Tag oder Jahr zu rendern:
| code language-handlebars |
|---|
|
Ausgabe (Beispiel): Your appointment is confirmed for 14:05.
Die führende Null ({%#if m < 10%}0{%/if%}) stellt sicher, dass Minuten unter 10 mit zwei Ziffern angezeigt werden (z. B. 09 statt 9).
Monate extrahieren extract-months
Die Funktion extractMonth extrahiert die Monatskomponente aus einem bestimmten Zeitstempel.
Syntax
{%= extractMonths(date) %}
- Eingabe:
{%=extractMonth(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
11
Sekunden extrahieren extract-seconds
Die Funktion extractSeconds extrahiert die Sekundenkomponente aus einem bestimmten Zeitstempel.
Syntax
{%= extractSeconds(date) %}
- Eingabe:
{%=extractSeconds(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
51
Datum formatieren format-date
Die formatDate-Funktion wird zum Formatieren eines Datums-/Uhrzeitwerts verwendet. Das Format sollte ein gültiges Java-DateTimeFormat-Muster sein.
Syntax
{%= formatDate(datetime, format) %}
Dabei ist der erste Parameter das Datums-/Uhrzeitattribut und der zweite Wert gibt an, wie das Datum konvertiert und angezeigt werden soll.
formatDate erfordert einen Datums-/Uhrzeitfeldtyp statt einer Zeichenfolge als Eingabe. Wenn das Feld als Zeichenfolgentyp in Ihrem XDM-Schema gespeichert ist, müssen Sie es zunächst mithilfe einer Konvertierungsfunktion wie stringToDate() oder toDateTime() in Datum/Uhrzeit konvertieren. Siehe dazu die Beispiele weiter unten.Beispiele
Mit dem folgenden Vorgang wird ein Datums-/Uhrzeitfeld in das Format „MM/TT/JJ“ konvertiert.
| code language-sql |
|---|
|
Wenn das Feld als Zeichenfolge gespeichert wurde, müssen Sie es vor der Formatierung zunächst mithilfe von stringToDate() in eine Datums-/Uhrzeitangabe konvertieren.
| code language-sql |
|---|
|
Der folgende Vorgang gibt das vollständige Datumsformat mit Tagesname, Monatsname, Tag und Jahr zurück.
| code language-sql |
|---|
|
Ausgabe: Wednesday January 01 2020
Sie können die aktuelle Systemzeit formatieren, um dynamische Datumswerte zu generieren. Mit dem folgenden Vorgang wird das aktuelle Datum im Format „MM/tt/JJJJ“ zurückgegeben.
| code language-sql |
|---|
|
Ausgabe (am 30. Januar 2026): 01/30/2026
Sie können den Wochentag in Kurzform extrahieren.
| code language-sql |
|---|
|
Ausgabe: Sun (für Sonntag), Mon (für Montag), Tue (für Dienstag) usw.
Kombinieren Sie dies für die Ausgabe in Kleinbuchstaben mit der Funktion lowerCase:
| code language-sql |
|---|
|
Ausgabe: sun, mon, tue usw.
Bei Verwendung eines Zeitstempels aus dem Ereigniskontextattribut einer Journey gelten zwei Voraussetzungen:
- Zeitstempel einschließen
toDateTime(): Zeitstempel für Kontextereignisse werden vonformatDate()nicht automatisch als Datums-/Uhrzeitwerte erkannt. - Numerische Ereignis-IDs in Backticks einschließen: Wenn die Ereignis-ID eine Zahl ist (z. B.
1697323153), muss sie mit Backticks im Ausdruckspfad maskiert werden. Andernfalls gibt der Editor einen PQL-Syntaxfehler aus. {% let %}- oder{%= %}-Syntax verwenden: Sie können das Ergebnis entweder mit{% let %}einer Variablen zuweisen und mit{{varName}}rendern oder direkt die Inline-Syntax{%= %}verwenden.
| code language-handlebars |
|---|
|
Ausgabe (Beispiel): 18/03/2026 14:30
formatDate() mit einem Zeitstempel für ein Kontextereignis inline ({%= formatDate(...) %}) verwendet wird. Die häufigsten Ursachen sind numerische Ereignis-IDs, die nicht in Backticks (`) eingeschlossen sind, oder ein Zeitstempelfeld, das direkt an formatDate() übergeben wird, ohne es zuerst in toDateTime() einzuschließen. Um beide Probleme zu beheben, verwenden Sie das Übertragungsmuster {% let %} aus dem obigen Beispiel.Musterzeichen pattern-characters
Einige Musterzeichen sehen möglicherweise ähnlich aus, stellen jedoch unterschiedliche Konzepte dar.
2023-12-31T10:15:30Z)y2023Y2024 (da der 31. Dezember 2023 in die erste Woche von 2024 fällt)MJan, January)12 oder Decm15d31D365Formatieren des Datums mit Unterstützung für Gebietsschema format-date-locale
Die Funktion formatDate kann verwendet werden, um einen Datums-/Uhrzeitwert in der entsprechenden sprachabhängigen Darstellung zu formatieren, d. h. in einem gewünschten Gebietsschema. Das Format sollte ein gültiges Java-DateTimeFormat-Muster sein.
Syntax
{%= formatDate(datetime, format, locale) %}
Dabei ist die erste Zeichenfolge das Datumsattribut, der zweite Wert ist die Art, wie das Datum konvertiert und angezeigt werden soll, und der dritte Wert stellt das Gebietsschema im Zeichenfolgenformat dar.
Beispiel
Der folgende Vorgang gibt das Datum in diesem Format zurück: TT/MM/JJ und Gebietsschema FRANKREICH.
{%= formatDate(profile.timeSeriesEvents._mobile.hotelBookingDetails.bookingDate, "MM/dd/YY", "fr_FR") %}
CurrentZonedDateTime abrufen get-current-zoned-date-time
Die Funktion getCurrentZonedDateTime gibt das aktuelle Datum und die aktuelle Uhrzeit mit Zeitzoneninformationen zurück.
Syntax
{%= getCurrentZonedDateTime() %}
- Eingabe:
{%= getCurrentZonedDateTime() %} - Ausgabe:
2024-12-06T17:22:02.281067+05:30[Asia/Kolkata]
Stundendifferenz hours-difference
Die Funktion diffInHours gibt den Unterschied zwischen zwei Daten in Form von Stunden zurück.
Syntax
{%= diffInHours(endDate, startDate) %}
- Eingabe:
{%= diffInHours(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T07:19:51Z"))%} - Ausgabe:
10
Minutendifferenz diff-minutes
Die Funktion diffInMinutes gibt den Unterschied zwischen zwei Daten in Form von Minuten zurück.
Syntax
{%= diffInMinutes(endDate, startDate) %}
- Eingabe:
{%= diffInMinutes(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T16:19:51Z"))%} - Ausgabe:
60
Monatsdifferenz months-difference
Die Funktion diffInMonths gibt den Unterschied zwischen zwei Daten in Form von Monaten zurück.
Syntax
{%= diffInMonths(endDate, startDate) %}
- Eingabe:
{%=diffInMonths(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-08-01T17:19:51Z"))%} - Ausgabe:
3
Tage festlegen set-days
Die setDays-Funktion wird verwendet, um den Tag des Monats für die Datums-/Uhrzeitangabe festzulegen.
Syntax
{%= setDays(datetime, day) %}
Legen Sie den Tag des Monats auf den 1. fest:
- Eingabe:
{%= setDays(stringToDate("2024-11-15T17:19:51Z"), 1) %} - Ausgabe:
2024-11-01T17:19:51Z
Stunden festlegen set-hours
Die setHours-Funktion wird verwendet, um die Stunde der Datums-/Uhrzeitangabe festzulegen.
Syntax
{%= setHours(datetime, hour) %}
- Eingabe:
{%= setHours(stringToDate("2024-11-01T17:19:51Z"), 0) %} - Ausgabe:
2024-11-01T00:19:51Z
Um ein Profil X Tage vor einem im Profil gespeicherten Datum (z. B. Ablauf eines Abonnements) anzusprechen, verwenden Sie addDays mit einem negativen Wert:
| code language-sql |
|---|
|
Um die Uhrzeit auch auf eine feste Stunde (z. B. 9 Uhr) zu normalisieren, kombinieren Sie sie mit setHours:
| code language-sql |
|---|
|
Zu Uhrzeit-/Datumsangabe to-date-time
Die Funktion ToDateTime wandelt eine Zeichenfolge in ein Datum um. Bei einer ungültigen Eingabe wird als Ausgabe das Epochen-Datum zurückgegeben.
Syntax
{%= toDateTime(string, string) %}
- Eingabe:
{%=toDateTime("2024-11-01T17:19:51Z")%} - Ausgabe:
2024-11-01T17:19:51Z
In UTC to-utc
Die toUTC-Funktion wird verwendet, um eine Datums-/Uhrzeitangabe in UTC zu konvertieren.
Syntax
{%= toUTC(datetime) %}
Auf Tagesanfang kürzen truncate-day
Mit der Funktion truncateToStartOfDay wird eine Datums-/Uhrzeitangabe geändert, indem die Uhrzeit auf den Beginn des Tages mit 00:00 Uhr festgelegt wird.
Syntax
{%= truncateToStartOfDay(date) %}
- Eingabe:
{%= truncateToStartOfDay(stringToDate("2024-11-01T17:19:51Z")) %} - Ausgabe:
2024-11-01T00:00Z
truncateToStartOfQuarter truncate-quarter
Mit der Funktion truncateToStartOfQuarter wird eine Datums-/Uhrzeitangabe auf den ersten Tag des Quartals (z. B. 1. Januar, 1. April, 1. Juli, 1. Oktober) um 0:00 Uhr gekürzt.
Syntax
{%= truncateToStartOfQuarter(dateTime) %}
- Eingabe:
{%=truncateToStartOfQuarter(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
2024-10-01T00:00Z
truncateToStartOfWeek truncate-week
Die truncateToStartOfWeek-Funktion ändert eine bestimmte Datums-/Uhrzeitangabe, indem sie sie auf den Beginn der Woche (Montag um 00:00 Uhr) setzt.
Syntax
{%= truncateToStartOfWeek(dateTime) %}
- Eingabe:
{%= truncateToStartOfWeek(stringToDate("2024-11-19T17:19:51Z"))%} // tuesday - Ausgabe:
2024-11-18T00:00Z // monday
truncateToStartOfYear truncate-year
Mit der Funktion truncateToStartOfYear wird eine Datums-/Uhrzeitangabe geändert, indem sie auf den ersten Tag des Jahres (1. Januar) um 0:00 Uhr gekürzt wird.
Syntax
{%= truncateToStartOfYear(dateTime) %}
- Eingabe:
{%=truncateToStartOfYear(stringToDate("2024-11-01T17:19:51Z"))%} - Ausgabe:
2024-01-01T00:00Z
Woche des Jahres week-of-year
Die Funktion weekOfYear wird verwendet, um die Woche des Jahres abzurufen.
Syntax
{%= weekOfYear(datetime) %}
- Eingabe:
{%= weekOfYear(stringToDate("2024-11-01T17:19:51Z")) %} - Ausgabe:
44
Jahresdifferenz diff-years
Die Funktion diffInYears wird verwendet, um den Unterschied zwischen zwei Daten in Form von Jahren zurückzugeben.
Syntax
{%= diffInYears(endDate, startDate) %}: int
- Eingabe:
{%=diffInYears(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2019-10-01T17:19:51Z"))%} - Ausgabe:
5