IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Funções de Data atualizada no nosso novo portal de documentação.
As funções foram criadas para:
acelerar ainda mais a criação das suas integrações
diminuir a complexidade dos seus pipelines
simplificar conversões e transformações dos dados durante o fluxo dos seus pipelines
As funções de data realizam tratamento, geração e conversão de datas e estão disponíveis para componentes que suportam expressões com Double Braces. Para saber como passar informações para os componentes utilizando esse recurso, clique aqui.
FORMATDATE
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função é aplicada para formatar data e horário (incluindo a possibilidade de tratar o seu locale e timezone).
Sintaxe
FORMATDATE(valor, "formato-da-origem", "formato-do-destino", "locale-origem"?, "timezone-origem"?, "locale-destino"?, "timezone-destino"?)
Os itens indicados com "?" podem ser definidos com valor null.
definição de formato da data: dd/MM/yyyy. Também é possível definir apenas a palavra 'timestamp'.
o valor será sempre convertido com ISO Zoned Date/Time.
Valor de entrada:
{
"date": "10/10/2010 11:59:59",
"date_no_time": "30/10/2010",
"time_no_date": "11:12:13",
"timestamp_date": 1564670039000,
"date_time_utc" : "2012-10-01T09:45:00.0000000+00:00"
}
Exemplos de conversões:
{
"timezone_conversion": {{ FORMATDATE(message.date, "dd/MM/yyyy HH:mm:ss", "dd/MM/yyyy HH:mm:ss z", null, "GMT-3", null, "UTC") }},
"simple_date": {{ FORMATDATE(message.date_no_time, "dd/MM/yyyy", "MM/dd/yyyy") }},
"simple_time": {{ FORMATDATE(message.time_no_date, "HH:mm:ss", "ss:mm:HH") }},
"date_from_timestamp": {{FORMATDATE(message.timestamp_date, "timestamp", "dd/MM/yyyy HH:mm:ss")}},
"simple_date_to_timestamp": {{ FORMATDATE(message.simple_date, "dd/MM/yyyy", "timestamp") }},
"iso_date_time": {{FORMATDATE(message.timestamp_date, "timestamp", null)}} ,
"date_month_name_pt_br": {{ FORMATDATE( NOW(), "timestamp", "dd/MMMM/yyyy", null, null, "pt-BR", null) }},
"date_time_utc" : {{FORMATDATE(message.date_time_utc, "yyyy-MM-dd'T'HH:mm:ss.SSSSSSS+SS:SS", "dd/MM/yyyy HH:mm:ss")}}
}
Clique aqui para obter mais informações sobre formatos de datas.
NOW
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função é aplicada para retornar o valor double de um número inteiro.
Sintaxe
NOW()
{
"now": {{ NOW() }},
"currentDate": {{FORMATDATE(NOW(), "timestamp", "yyyyMMdd", null, "GMT-3") }},
"currentTime": {{FORMATDATE(NOW(), "timestamp", "HHmmss", null, "GMT-3") }},
"tomorrow": {{ FORMATDATE( TOLONG( SUM(NOW(),86400000)), "timestamp", "yyyyMMdd") }},
"time5minBefore": {{ TOLONG( SUBTRACT( NOW(), TOLONG("300000"))) }}
}
O retorno dessa função será a data atual em milissegundos.
SUMDATE
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função retorna a soma ou subtração de uma determinada data e hora dada uma unidade de tempo.
Sintaxe
SUMDATE(milliseconds:number, unit:string, value:string)
● milliseconds: timestamp
● unit: unidade de tempo (valores aceitos: hora, minuto, segundo, dia, mês e ano)
● value: valores de data e hora a serem adicionados
● zoneId: zona da data informada (padrão: UTC)
As zonas aceitas (UTC) são:
Australia/Darwin
Australia/Sydney
America/Argentina/Buenos_Aires
Africa/Cairo
America/Anchorage
America/Sao_Paulo
Asia/Dhaka
Africa/Harare
America/St_Johns
America/Chicago
Asia/Shanghai
Africa/Addis_Ababa
Europe/Paris
America/Indiana/Indianapolis
Asia/Kolkata
Asia/Tokyo
Pacific/Apia
Asia/Yerevan
Pacific/Auckland
Asia/Karachi
America/Phoenix
America/Puerto_Rico
America/Los_Angeles
Pacific/Guadalcanal
Asia/Ho_Chi_Minh
Digamos que você precise obter a data e hora somando à ela 10 segundos. Você pode fazer o seguinte:
{
"test": {{ SUMDATE (1599368565518, "SECOND”, 10) }}
}
O resultado esperado será:
{
1599368565528
}
TOISODATE
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função é aplicada para converter data e horário para ISO Date (incluindo a possibilidade de tratar o seu locale e timezone).
Sintaxe
TOISODATE(valor, "formatSource", "formatDestination", "locale"?, "timezone"?)
Os itens indicados com "?" podem ser definidos com valor null.
definição do formato da data: dd/MMMM/yyyy HH:mm:ss. Também é possível definir apenas a palavra 'timestamp'.
Se o timezone não for definido, será utilizado o UTC.
Valor de entrada:
{
"date": "10/10/2010 11:59:59",
"date_with_tz": "10/10/2010 11:59:59 GMT-03:00",
"localized_date_with_tz": "10/Outubro/2010 11:59:59 GMT-03:00",
"timestamp_date": "1564670039000",
"date_no_time": "30/09/2018"
}
Exemplos de conversões:
{
"forced_utc_no_locale": {{TOISODATE(message.date, "dd/MM/yyyy HH:mm:ss", null, "UTC")}},
"inferred_tz_no_locale": {{TOISODATE(message.date_with_tz, "dd/MM/yyyy HH:mm:ss z")}},
"localized_date_with_tz": {{TOISODATE(message.localized_date_with_tz, "dd/MMMM/yyyy HH:mm:ss z", "pt-BR")}},
"date_generated_from_timestamp": {{TOISODATE(message.timestamp_date, "timestamp")}},
"iso_datetime_from_date_only": {{TOISODATE(message.date_no_time, "dd/MM/yyyy", null, "GMT-3")}}
}
DIFFDATE
Essa função permite que você calcule a diferença de tempo entre duas datas.
Sintaxe
DIFFDATE(timestamp1, timestamp2, "timeUnit")
As datas a serem utilizadas devem estar no formato timestamp.
O parâmetro timeUnit aceita apenas os valores: year, month, day, hour, minute, second e millisecond.
O cálculo aplicado será: timestamp2 - timestamp1
Valores de entrada
{
"timestamp1": "1550458800000",
"timestamp2": "1613617200000"
}
Exemplos de aplicações
{
"years": {{ DIFFDATE(message.timestamp1, message.timestamp2, "year") }},
"months": {{ DIFFDATE(message.timestamp1, message.timestamp2, "month") }},
"hours": {{ DIFFDATE(message.timestamp1, message.timestamp2, "hour") }}
}
Obs.: Se a função receber 2 datas que tenham uma diferença menor que 1 com base na unidade de tempo informada, o resultado será 0. Se o parâmetro timestamp1 for maior que timestamp2, a função retornará a diferença negativa.
Conheça também as funções: