Funzioni data date-functions

Le funzioni di data consentono di manipolare e utilizzare i valori di data e ora all’interno delle espressioni di percorso. Queste funzioni sono essenziali per le condizioni basate sul tempo, la pianificazione e i calcoli temporali nei percorsi dei clienti.

Utilizza le funzioni data quando devi:

Le funzioni di data forniscono un controllo preciso sulla logica temporale, consentendo di creare percorsi e condizioni di percorso sensibili al tempo che rispondono a specifici intervalli di tempo e pianificazioni.

NOTE
Le funzioni presenti in questa pagina sono disponibili nelle espressioni di percorso. Alcune funzioni come now() non sono disponibili nell'editor di personalizzazione per i contenuti e-mail. Ulteriori informazioni

currentTimeInMillis currentTimeInMillis

Restituisce il tempo corrente in millisecondi epoca.

Sintassi
currentTimeInMillis()
Parametri
Questa funzione non utilizza parametri.
Firme e tipo restituito

currentTimeInMillis()

Restituisce un numero intero.

Esempi

currentTimeInMillis()

Restituisce “1544712617131”

inLastDays inLastDays

Restituisce true se un dato dateTime è compreso tra now e now - delta days.

Sintassi
inLastDays(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inLastDays(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inLastHours inLastHours

Restituisce true se la data e l’ora specificate sono comprese tra now e now - delta hours.

Sintassi
inLastHours(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inLastHours(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

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

Restituisce true.

inLastMonths inLastMonths

Restituisce true se una data o un’ora specificata è compresa tra now e now - delta mesi.

Sintassi
inLastMonths(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inLastMonths(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inLastYears inLastYears

Restituisce true se una data o un valore dateTime specificato è compreso tra now e now - delta years.

Sintassi
inLastYears(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inLastYears(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inNextDays inNextDays

Restituisce true se una data o un’ora specificata è compresa tra now e now + delta giorni.

Sintassi
inNextDays(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inNextDays(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inNextHours inNextHours

Restituisce true se una data o un’ora specificata è compresa tra now e now + delta ore.

Sintassi
inNextHours(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inNextHours(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inNextMonths inNextMonths

Restituisce true se una data o un’ora specificata è compresa tra now e now + delta mesi.

Sintassi
inNextMonths(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inNextMonths(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

inNextYears inNextYears

Restituisce true se una data o un’ora specificata è compresa tra now e now + delta anni.

Sintassi
inNextYears(<dateTime>,<delta>)
Parametri
table 0-row-2 1-row-2 2-row-2
Parametro Tipo
data e ora dateTime
delta intero
Firme e tipo restituito

inNextYears(<dateTime>,<integer>)

Restituisce un valore booleano.

Esempi

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

Restituisce true.

now now

Restituisce la data corrente in formato data e ora. Per ulteriori informazioni sui tipi di dati, consultare questa pagina.

NOTE
Questa funzione è disponibile solo nelle espressioni di percorso. Per la personalizzazione delle e-mail e altri contenuti, utilizza invece getCurrentZonedDateTime(). Ulteriori informazioni
Sintassi
now(<parameter>)
Parametri
table 0-row-2 1-row-2
Parametro Descrizione
stringa Identificatore del fuso orario (facoltativo)
Firme e tipo restituito

now()

now("<timeZone id>")

Restituisce un valore dateTime.

Esempi

now()

Restituisce 2023-06-03T06:30Z.

toString(now())

Restituisce “2023-06-03T06:30Z”

now("Europe/Paris")

Restituisce 2023-06-03T08:30+02:00.

nowWithDelta nowWithDelta

Restituisce il valore datetime corrente comprensivo di un offset. Se viene specificato un ID di fuso orario, verrà applicato lo scostamento del fuso orario. Per ulteriori informazioni sui tipi di dati, consultare questa pagina.

Sintassi
nowWithDelta(<parameters>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro Descrizione
delta valore intero positivo o negativo
parte data anni, mesi, giorni, ore, minuti o secondi come stringa
id fuso orario rappresentazione stringa del valore del fuso orario. Per ulteriori informazioni, vedere Tipi di dati. L’ID del fuso orario deve essere una costante stringa. Non può essere un riferimento di campo né un’espressione.
Firme e tipo restituito

nowWithDelta(<delta>,<date part>

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

Restituisce un valore dateTime.

Esempi

nowWithDelta(-2, "hours")

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

Restituisce un valore dateTime esattamente 2 ore fa.

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

Quando valutato il 31/01/2026, restituisce il 31/02/2026; quando valutato il 31/05/2026, restituisce il 30/06/2026…

nowWithDelta() utilizza l’aritmetica del mese del calendario. Se il mese di destinazione ha un numero di giorni inferiore al giorno del mese corrente, il risultato viene normalizzato all’ultimo giorno valido di quel mese. La funzione non viene riportata al mese successivo.

setHours setHours

Imposta solo le ore di una data/ora o data/ora. Ad esempio, se desideri aspettare fino a un’ora specifica domani, puoi forzare l’ora.

Sintassi
setHours(<parameter>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro Tipo
data e ora dateTime
data e ora senza considerare il fuso orario dateTimeOnly
ore intero
Firme e tipo restituito

setHours(<dateTime>,<hours>)

Restituisce un valore datetime.

setHours(<dateTimeOnly>,<hours>)

Restituisce un valore datetime senza considerare il fuso orario.

Esempi

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

Restituisce 2023-12-12T04:11:00Z.

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

Restituisce domani alle 20.00, dove XY corrisponde ai minuti al momento della valutazione dell’ora corrente. :XYSe la valutazione viene eseguita alle 02:00, l’ora restituita sarà le 20:00.:45:45

setDays setDays

Imposta solo il giorno di un’ora o di una data. Ad esempio, se desideri attendere fino a un determinato giorno del mese, puoi forzare il giorno.

Sintassi
setDays(<parameter>)
Parametri
table 0-row-2 1-row-2 2-row-2 3-row-2
Parametro Tipo
data e ora dateTime
data e ora senza considerare il fuso orario dateTimeOnly
giorni intero
Firme e tipo restituito

setDays(<dateTime>,<days>)

Restituisce un valore datetime.

setDays(<dateTimeOnly>,<days>)

Restituisce un valore datetime senza considerare il fuso orario.

Esempi

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

Restituisce 2023-12-25T01:11:00Z.

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

updateTimeZone updateTimeZone

Restituisce una nuova data e ora, con un nuovo fuso orario nello stesso istante.

Sintassi
updateTimeZone(<parameters>)
Parametri
  • id fuso orario: stringa
  • dateTime
Firma e tipo restituito

updateTimeZone(<dateTime>,<timeZone id>)

Restituisce un valore datetime.

Esempi

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

Restituisce 2023-08-28T17:15:30.123+02:00.

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

Se il valore del campo timestamp è 2021-11-16T16:55:12.939318+01:00, la funzione restituisce 2021-11-17T02:55:12.942115+11:00.

Guida di riferimento della Knowledge Base di AI

Questa sezione contiene informazioni strutturate che supportano l’interpretazione, il recupero e la risposta alle domande relative a questo argomento.

Per una comprensione completa, queste informazioni devono essere unite alla documentazione su questa pagina. Nessuna delle due origini è progettata per essere indipendente; la pagina descrive la funzione, mentre questa sezione fornisce un contesto aggiuntivo che aiuta a non ambiguare la terminologia, le finalità, l’applicabilità e i vincoli.

  • TL;DR: In questa pagina sono documentate tutte le funzioni di data e ora disponibili nelle espressioni di percorso di AJO, con informazioni su come ottenere l’ora corrente, verificare se una data rientra in una finestra temporale relativa e modificare i componenti data/ora.

Intenti:

  • Ottieni il datetime corrente (con fuso orario facoltativo) utilizzando now o nowWithDelta
  • Recupera l’ora corrente come numero intero epoca utilizzando currentTimeInMillis
  • Controlla se un valore datetime rientra negli ultimi N giorni, ore, mesi o anni utilizzando inLastDays, inLastHours, inLastMonths, inLastYears
  • Controlla se un datetime rientra nei N giorni, ore, mesi o anni successivi utilizzando inNextDays, inNextHours, inNextMonths, inNextYears
  • Forza un’ora o un giorno specifico del mese su un valore datetime utilizzando setHours o setDays
  • Convertire un datetime in un fuso orario diverso mantenendo lo stesso istante utilizzando updateTimeZone

Glossario:

  • dateTime: valore data-ora che include informazioni di scostamento fuso orario (specifico per prodotto)
  • dateTimeOnly: valore data-ora senza informazioni sul fuso orario (specifico per prodotto)
  • millisecondi epoca: numero intero che rappresenta il numero di millisecondi trascorsi dal 1970-01-01T00:00:00Z
  • delta: offset intero (positivo o negativo) utilizzato con nowWithDelta per spostare il tempo corrente di un numero di anni, mesi, giorni, ore, minuti o secondi

Guardrail:

  • now() è disponibile solo nelle espressioni di percorso; per la personalizzazione delle e-mail utilizza invece getCurrentZonedDateTime()
  • L’ID del fuso orario in nowWithDelta deve essere una costante stringa. I riferimenti ai campi e le espressioni dinamiche non sono supportati
  • L’ID del fuso orario in updateTimeZone deve essere una costante stringa

Terminologia:

  • Nome canonico: funzioni data — Acronimo: none — varianti: funzioni data-ora, funzioni temporali
  • Sinonimi: “now()” = “current datetime”; “currentTimeInMillis()” = “current epoch milliseconds”
  • Non confondere: “inLastDays” (guarda indietro nel tempo) ≠ “inNextDays” (guarda avanti nel tempo)
  • Non confondere: “setHours” (sostituisce il componente Ora) ≠ “nowWithDelta” (distanzia l’ora corrente)
  • Non confondere: “updateTimeZone” (stessa istantanea, diversa rappresentazione del fuso orario) ≠ “setHours” (modifica il valore orario stesso)

Domande frequenti:

  • Q: posso utilizzare now() nel contenuto di personalizzazione e-mail? — No, now() è disponibile solo nelle espressioni di percorso. Utilizza getCurrentZonedDateTime() per la personalizzazione delle e-mail.
  • D: come posso verificare se si è verificato un evento nelle ultime 24 ore? — Utilizza inLastHours(@event{MyEvent.timestamp}, 24).
  • D: come si ottiene uno scostamento dell’ora corrente di 2 ore nel passato? — Utilizza nowWithDelta(-2, "hours").
  • D: cosa fa updateTimeZone in modo diverso da setHours?updateTimeZone mantiene lo stesso istante di tempo ma lo esprime in un fuso orario diverso, mentre setHours modifica effettivamente il componente ora del valore datetime.
  • Q: il parametro del fuso orario in nowWithDelta può essere un campo del profilo? — No, l’ID del fuso orario deve essere una costante stringa; i riferimenti ai campi non sono supportati.
  • D: cosa succede quando nowWithDelta() viene utilizzato con mesi e la data corrente è un mese di fine? — La funzione utilizza l’aritmetica del mese di calendario e normalizza il risultato fino all’ultimo giorno valido del mese di destinazione. Ad esempio, aggiungendo 1 mese al 31 gennaio, viene restituito il 28 febbraio (non il 3 marzo).
recommendation-more-help
journey-optimizer-help