Fonctions de date date-functions
Les fonctions de date permettent de manipuler et d’utiliser des valeurs de date et d’heure dans vos expressions de parcours. Ces fonctions sont essentielles pour les conditions temporelles, la planification et les calculs temporels de vos parcours clientèle.
Utilisez les fonctions de date lorsque vous devez :
- Obtenir l’heure ou la date actuelle avec une gestion spécifique des fuseaux horaires (now, nowWithDelta, currentTimeInMillis)
- Vérifie si une date se situe dans une période spécifique (inLastDays, inLastHours, inLastMonths, inLastYears, inNextDays, inNextHours, inNextMonths, inNextYears)
- Modifier les composants de date et d’heure (setHours, setDays, updateTimeZone)
- Effectuer des calculs et des comparaisons temporels
- Convertit entre différents formats et représentations temporels
Les fonctions de date apportent un contrôle précis sur la logique temporelle, ce qui vous permet de créer des conditions et des chemins de parcours sensibles au temps qui réagissent à des calendriers et à des plannings spécifiques.
now() ne sont pas disponibles dans l’éditeur de personnalisation du contenu des e-mails. En savoir pluscurrentTimeInMillis currentTimeInMillis
Renvoie l’heure actuelle en millisecondes depuis le début de l’époque.
currentTimeInMillis()currentTimeInMillis()
Renvoie un entier.
currentTimeInMillis()
Renvoie « 1544712617131 ».
inLastDays inLastDays
Renvoie « true » si une valeur dateTime donnée est comprise entre maintenant et maintenant - delta jours.
inLastDays(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inLastDays(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inLastDays(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inLastHours inLastHours
Renvoie « true » si une date et une heure données sont comprises entre maintenant et maintenant - delta heures.
inLastHours(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inLastHours(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inLastHours(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inLastHours(@event{MyEvent.timestamp}, 4)
Renvoie true.
inLastMonths inLastMonths
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant - delta mois.
inLastMonths(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inLastMonths(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inLastMonths(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inLastYears inLastYears
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant - delta ans.
inLastYears(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inLastYears(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inLastYears(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inNextDays inNextDays
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant + delta jours.
inNextDays(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inNextDays(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inNextDays(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inNextHours inNextHours
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant + delta heures.
inNextHours(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inNextHours(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inNextHours(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie true.
inNextMonths inNextMonths
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant + delta mois.
inNextMonths(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inNextMonths(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inNextMonths(toDateTime('2023-01-12T01:11:00Z'), 4)
Renvoie true.
inNextYears inNextYears
Renvoie « true » si une date ou une valeur dateTime donnée est comprise entre maintenant et maintenant + delta ans.
inNextYears(<dateTime>,<delta>)| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| delta | entier |
inNextYears(<dateTime>,<integer>)
Renvoie une valeur booléenne.
inNextYears(toDateTime('2021-12-12T01:11:00Z'), 4)
Renvoie true.
now now
Renvoie la date actuelle au format date et heure. Pour plus d’informations sur les types de données, consultez cette page.
getCurrentZonedDateTime(). En savoir plusnow(<parameter>)| table 0-row-2 1-row-2 | |
|---|---|
| Paramètre | Description |
| chaîne | Identifiant du fuseau horaire (facultatif) |
now()
now("<timeZone id>")
Renvoie une valeur dateTime.
now()
Renvoie 2023-06-03T06:30Z.
toString(now())
Renvoie « 2023-06-03T06 :30Z ».
now("Europe/Paris")
Renvoie 2023-06-03T08:30+02:00.
nowWithDelta nowWithDelta
Renvoie la date et l’heure actuelles, ainsi qu’un décalage. Si un identifiant de fuseau horaire est spécifié, le décalage de fuseau horaire est appliqué. Pour plus d’informations sur les types de données, consultez cette page.
nowWithDelta(<parameters>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | Description |
| delta | valeur entière positive ou négative |
| partie de date | années, mois, jours, heures, minutes ou secondes sous forme de chaîne |
| identifiant de fuseau horaire | Représentation, sous forme de chaîne, de la valeur du fuseau horaire. Pour en savoir plus, voir Types de données. L’identifiant de fuseau horaire doit être une constante sous forme de chaîne. Il ne peut pas s’agir d’une référence de champ ni d’une expression. |
nowWithDelta(<delta>,<date part>
nowWithDelta(<delta>,<date part>,"<timeZone id>")
Renvoie une valeur dateTime.
nowWithDelta(-2, "hours")
nowWithDelta(-2, "hours", "Europe/Paris")
Renvoie une valeur dateTime il y a exactement 2 heures.
nowWithDelta(1, "months", "Asia/Tokyo")
Lorsqu’elle est évaluée le 31/01/2026, renvoie 2026/02/28T… ; lorsqu’elle est évaluée le 31/05/2026, renvoie 2026/06/30T…
nowWithDelta() utilise l’arithmétique des mois calendaires. Si le mois cible comporte moins de jours que le jour du mois en cours, le résultat est normalisé au dernier jour valide de ce mois. La fonction n’est pas reportée au mois suivant.
setHours setHours
Définit les heures d’une date ou d’une date sans prise en compte du fuseau horaire. Par exemple, si vous voulez attendre jusqu’à une certaine heure demain, vous pouvez forcer l’heure.
setHours(<parameter>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| date et heure sans prise en compte du fuseau horaire | dateTimeOnly |
| heures | entier |
setHours(<dateTime>,<hours>)
Renvoie une date et une heure.
setHours(<dateTimeOnly>,<hours>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
setHours(toDateTime('2023-12-12T01:11:00Z'), 4)
Renvoie 2023-12-12T04:11:00Z.
setHours(nowWithDelta(1, "days"), 20)
Renvoie demain à 20:XY h, XY représentant le nombre de minutes au moment de lʼévaluation de lʼheure en cours. Si lʼévaluation se produit à 2:45 h, lʼheure renvoyée sera 20:45 h.
setDays setDays
Définit le jour d’une date ou d’une date sans prise en compte du fuseau horaire. Par exemple, si vous voulez attendre jusqu’à un certain jour du mois, vous pouvez forcer le jour.
setDays(<parameter>)| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| Paramètre | Type |
| date et heure | dateTime |
| date et heure sans prise en compte du fuseau horaire | dateTimeOnly |
| jours | entier |
setDays(<dateTime>,<days>)
Renvoie une date et une heure.
setDays(<dateTimeOnly>,<days>)
Renvoie une date et une heure sans prendre en compte le fuseau horaire.
setDays(toDateTime('2023-12-12T01:11:00Z'), 25)
Renvoie 2023-12-25T01:11:00Z.
setDays(toDateTimeOnly(@event{MyEvent.registrationDate}), 1)
updateTimeZone updateTimeZone
Renvoie une nouvelle valeur de date et heure, avec un nouveau fuseau horaire au même instant.
updateTimeZone(<parameters>)- identifiant de fuseau horaire : chaîne
- dateTime
updateTimeZone(<dateTime>,<timeZone id>)
Renvoie une date et une heure.
updateTimeZone( toDateTime("2023-08-28T08:15:30.123-07:00"), "Europe/Paris"))
Renvoie 2023-08-28T17:15:30.123+02:00.
updateTimeZone(@event{MyExpEvent.timestamp}, "Australia/Sydney")
Si la valeur du champ de date et d’heure est 2021-11-16T16:55:12.939318+01:00, la fonction renvoie 2021-11-17T02:55:12.942115+11:00.
Cette section contient des connaissances structurées destinées à soutenir l’interprétation, la récupération et la réponse aux questions liées à ce sujet.
Pour une compréhension totale, ces informations doivent être combinées avec la documentation de cette page. Aucune des sources n’est conçue pour être autonome. La page décrit la fonctionnalité, tandis que cette section fournit un contexte supplémentaire qui permet de clarifier la terminologie, l’intention, l’applicabilité et les contraintes.
- TL;DR: Cette page documente toutes les fonctions de date et d’heure disponibles dans les expressions de parcours AJO, couvrant la manière d’obtenir l’heure actuelle, de vérifier si une date se situe dans une fenêtre temporelle relative et de modifier les composants date/heure.
Intentions:
- Obtenez la date-heure actuelle (avec fuseau horaire facultatif) à l’aide de
nowounowWithDelta - Récupérer l’heure actuelle sous la forme d’un entier epoch à l’aide de
currentTimeInMillis - Vérifiez si une date/heure fait partie des N derniers jours, heures, mois ou années à l’aide de
inLastDays,inLastHours,inLastMonthsouinLastYears - Vérifiez si une date/heure figure dans les N jours, heures, mois ou années suivants à l’aide de
inNextDays,inNextHours,inNextMonthsouinNextYears - Forcer une heure ou un jour spécifique du mois sur une valeur datetime à l’aide de
setHoursousetDays - Convertissez une heure en un fuseau horaire différent tout en conservant le même instant à l’aide de
updateTimeZone
Glossaire:
- dateTime : valeur date-heure qui inclut des informations de décalage de fuseau horaire (spécifiques au produit)
- dateTimeOnly : valeur date-heure sans informations de fuseau horaire (spécifique au produit)
- millisecondes epoch : nombre entier représentant le nombre de millisecondes écoulées depuis 1970-01-01T00:00:00Z
- delta : décalage entier (positif ou négatif) utilisé avec
nowWithDeltapour décaler l’heure actuelle d’un nombre d’années, de mois, de jours, d’heures, de minutes ou de secondes
Mécanismes de sécurisation :
now()n’est disponible que dans les expressions de parcours ; pour la personnalisation des e-mails, utilisez plutôtgetCurrentZonedDateTime()- L’ID de fuseau horaire dans
nowWithDeltadoit être une constante de chaîne — les références aux champs et les expressions dynamiques ne sont pas prises en charge - L’ID du fuseau horaire dans
updateTimeZonedoit être une constante de chaîne
Terminologie:
- Nom canonique : Fonctions de date — Acronyme : none — variantes : fonctions date-heure, fonctions temporelles
- Synonymes : « now() » = « current datetime »; « currentTimeInMillis() » = « current epoch milliseconds »
- Ne pas confondre : « inLastDays » (regarde en arrière) ≠ « inNextDays » (regarde en avant)
- Ne pas confondre : « setHours » (remplace le composant heure) ≠ « nowWithDelta » (décale l’heure actuelle)
- Ne pas confondre : « updateTimeZone » (même instant, représentation de fuseau horaire différente) ≠ « setHours » (modifie la valeur de l’heure elle-même)
FAQ:
- Q : Puis-je utiliser des
now()dans le contenu de personnalisation d’e-mail ? — Non,now()n’est disponible que dans les expressions de parcours. UtilisezgetCurrentZonedDateTime()pour la personnalisation des e-mails. - Q : Comment puis-je vérifier si un événement s’est produit au cours des dernières 24 heures ? — Utiliser
inLastHours(@event{MyEvent.timestamp}, 24). - Q : Comment puis-je obtenir le décalage horaire actuel de 2 heures dans le passé ? — Utiliser
nowWithDelta(-2, "hours"). - Q : Qu’est-ce que
updateTimeZonefait différemment desetHours? —updateTimeZoneconserve le même instant dans le temps, mais l’exprime dans un fuseau horaire différent, tandis quesetHoursmodifie en fait le composant heure de la valeur datetime. - Q : Le paramètre de fuseau horaire dans
nowWithDeltapeut-il être un champ de profil ? — Non, l’ID de fuseau horaire doit être une constante de chaîne ; les références aux champs ne sont pas prises en charge. - Q : Que se passe-t-il lorsque
nowWithDelta()est utilisé avec des mois et que la date actuelle est une date de fin de mois ? — La fonction utilise l’arithmétique des mois calendaires et normalise le résultat au dernier jour valide du mois cible. Par exemple, l’ajout d’un mois au 31 janvier renvoie le 28 février (et non le 3 mars).