Tipos de dados data-types
Tecnicamente, uma constante sempre contém um tipo de dados. Na expressão literal, especificamos apenas o valor. O tipo de dados pode ser inferido a partir do valor (por exemplo, string, inteiro, decimal etc.). Para casos específicos, como data e hora, usamos funções dedicadas para a representação.
As seções abaixo fornecem informações sobre as diferentes expressões de tipos de dados e como elas são representadas.
sequência de caracteres string
Descrição
Sequência comum de caracteres. Ele não tem um tamanho específico, exceto o implícito que vem do ambiente, como a quantidade de memória disponível.
Formato JSON: string
Formato de serialização: UTF-8
Representação literal
"<value>"
'<value>'
Exemplo
"hello world"
'hello world'
inteiro integer
Descrição
Valor inteiro de -2^63 a 2^63-1.
Formato JSON: número
Representação literal
<integer value>
Exemplo
42
decimal decimal
Descrição
Número decimal. Ele representa um valor flutuante:
- maior valor finito positivo do tipo double, (2-2-52)x21023
- menor valor normal positivo do tipo double, 2-1022
- menor valor positivo diferente de zero do tipo double, 2 p-1074
Formato JSON: número
Formato de serialização: usando ‘.’ como separador decimal.
Representação literal
<integer value>.<integer value>
Exemplo
3.14
booleano boolean
Descrição
Valor booleano gravado em minúsculas: verdadeiro ou falso
Formato JSON: booleano
Representação literal
true
false
Exemplo
true
dateOnly date-only
Descrição
Representa uma data somente sem um fuso horário, visualizado como um dia-mês-ano.
É uma descrição da data, como usada para aniversários.
Formato JSON: cadeia de caracteres.
O formato é: AAAA-MM-DD (ISO-8601), por exemplo: “2021-03-11”.
Ele pode ser encapsulado em uma função toDateOnly.
Ele usa DateTimeFormatter ISO_LOCAL_DATE_TIME para desserializar e serializar o valor. Saiba mais
Representação literal
date("<dateOnly in ISO-8601 format>")
Exemplo
date("2021-02-19")
dateTimeOnly date-time-only
Descrição
Representa uma data e hora sem um fuso horário, visualizado como ano-mês-dia-hora-minuto-segundo-milissegundo.
Formato JSON: cadeia de caracteres.
Ele não armazena ou representa um fuso horário. Em vez disso, é uma descrição da data, como usada para aniversários, combinada com a hora local, como visto em um relógio de parede.
Ele não pode representar um instante na linha do tempo sem informações adicionais, como um deslocamento ou fuso horário.
Ele pode ser encapsulado em uma função toDateTimeOnly.
Formato de serialização: formato de data-hora de deslocamento estendido ISO-8601.
Ele usa DateTimeFormatter ISO_LOCAL_DATE_TIME para desserializar e serializar o valor. Saiba mais{_blank}.
Representação literal
date("<dateTimeOnly in ISO-8601 format>")
Exemplos
date("2024-02-19T00.00.000")
date("2024-02-19T00.00")
dateTime date-time
Descrição
Constante de data e hora que também considera o fuso horário. Ele representa uma data e hora com um deslocamento de UTC.
Ele pode ser visto como um instante de tempo com as informações adicionais do deslocamento. É uma forma de representar um “momento” específico em um determinado lugar do mundo.
Formato JSON: cadeia de caracteres.
Ele pode ser encapsulado em uma função toDateTime.
Formato de serialização: formato de data-hora de deslocamento estendido ISO-8601.
Ele usa DateTimeFormatter ISO_OFFSET_DATE_TIME para desserializar e serializar o valor. Saiba mais{_blank}.
Você também pode passar um número inteiro passando um valor de época. Leia mais{_blank}.
O fuso horário pode ser especificado por um deslocamento ou um código de fuso horário (por exemplo: Europa/Paris, Z - significando UTC).
Representação literal
toDateTime("<dateTime in ISO-8601 format>")
date("<dateTime in ISO-8601 format>")
toDateTime(<integer value of an epoch in milliseconds>)
Exemplos
date("2024-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2023-12-03T15:15:30Z")
toDateTime("2023-12-03T15:15:30.123Z")
toDateTime("2023-12-03T15:15:30.123+02:00")
toDateTime("2023-12-03T15:15:30.123-00:20")
toDateTime(1560762190189)
duração duration
Descrição
Ela representa uma quantidade de tempo baseada no tempo, como “34,5 segundos”. Ele modela uma quantidade ou quantidade de tempo em termos de milissegundos.
As unidades temporais suportadas são: milissegundos, segundos, minutos, horas, dias onde um dia equivale a 24 horas. Não há suporte para anos e meses, pois eles não são uma quantidade fixa de tempo.
Formato JSON: cadeia de caracteres.
Ele deve ser encapsulado em uma função toDuration.
Formato de serialização: para desserializar uma ID de fuso horário, ele usa a função java java.time.
Duration.parse: os formatos aceitos são baseados no formato de duração ISO-8601 PnDTnHnMn.nS com dias considerados exatamente 24 horas. Saiba mais{_blank}.
Representação literal
toDuration("<duration in ISO-8601 format>")
toDuration(<duration in milliseconds>)
Exemplo
toDuration("PT5S") -- parses as 5 seconds
toDuration(500) -- parses as 500ms
toDuration("PT20.345S") -- parses as "20.345 seconds"
toDuration("PT15M") -- parses as "15 minutes" (where a minute is 60 seconds)
toDuration("PT10H") -- parses as "10 hours" (where an hour is 3600 seconds)
toDuration("P2D") -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
toDuration("P2DT3H4M") -- parses as "2 days, 3 hours and 4 minutes"
toDuration("P-6H3M") -- parses as "-6 hours and +3 minutes"
toDuration("-P6H3M") -- parses as "-6 hours and -3 minutes"
toDuration("-P-6H+3M") -- parses as "+6 hours and -3 minutes"
list list
Descrição
Lista separada por vírgulas de expressões usando colchetes como delimitadores.
Não há suporte para polimorfismo, portanto, todas as expressões contidas na lista devem ter o mesmo tipo.
Representação literal
[<expression>, <expression>, ... ]
Exemplo
["value1","value2"]
[3,5]
[toDuration(500),toDuration(800)]
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 describes every data type supported in the Journey advanced expression editor — string, integer, decimal, boolean, dateOnly, dateTimeOnly, dateTime, duration, and list — with their JSON formats, serialization rules, and literal representation syntax.
Intents:
- Identify the correct literal syntax for each data type when writing journey expressions
- Understand the difference between
dateOnly,dateTimeOnly, anddateTimetypes and when to use each - Represent a duration value using ISO-8601 format or milliseconds with the
toDuration()function - Construct a list expression with square bracket syntax for use in collection operations
- Use conversion functions (
toDateTime,toDateTimeOnly,toDuration,toDateOnly) to create typed constants
Glossary:
- dateOnly: A date without time or time zone, formatted as YYYY-MM-DD; suitable for birthdays or calendar dates (product-specific)
- dateTimeOnly: A date and time without time zone information; cannot represent a specific instant without an offset (product-specific)
- dateTime: A date-time constant that includes a UTC offset, representing a specific instant; can also be created from an epoch integer (product-specific)
- duration: A time-based amount modelled in milliseconds; uses ISO-8601
PnDTnHnMn.nSformat; years and months are not supported (product-specific) - list: A comma-separated collection of expressions of the same type, delimited by square brackets (product-specific)
Guardrails:
- Duration supports milliseconds, seconds, minutes, hours, and days only — years and months are not supported as they are not fixed amounts of time
- A
durationvalue must be wrapped intoDuration()— it cannot be expressed as a bare literal - All expressions in a
listmust have the same type — polymorphism is not supported dateTimeOnlycannot represent an instant in time without an additional offset or time zone
Terminology:
- Canonical name: Data Types — Acronym: none — variants: expression data types, journey data types
- Synonyms: “dateTime” = “date-time with timezone”; “dateTimeOnly” = “local date-time”
- Do not confuse:
dateOnly(no time) ≠dateTimeOnly(date + time, no timezone) ≠dateTime(date + time + timezone/offset)
FAQ:
- Q: What is the difference between
dateTimeOnlyanddateTime? —dateTimeOnlyhas no time zone or offset and cannot represent a precise instant;dateTimeincludes a UTC offset and represents a specific moment in time. - Q: How do I express a duration of 2 days and 3 hours? — Use
toDuration("P2DT3H"). - Q: Can I mix integers and strings in a list expression? — No; all expressions in a list must be the same type.
- Q: How do I create a
dateTimefrom an epoch timestamp in milliseconds? — UsetoDateTime(<epoch in milliseconds>), for exampletoDateTime(1560762190189). - Q: Is
trueorTruethe correct boolean literal? — Use lowercasetrueorfalse; uppercase variants are not valid.