Funções de data e hora no Jitterbit Studio
Introdução
Se você estiver usando essas funções em conjunto com as funções Now ou Now_, esteja ciente de que o fuso horário retornado é aquele configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando uma função de conversão, leve isso em consideração se seu projeto foi projetado para ser executado tanto na nuvem quanto em um agente privado.
Nota
Se você tiver a configuração Substituir Fuso Horário do Agente de Agendamento habilitada nas políticas da sua organização, quaisquer scripts que utilizem funções de data e hora conforme descrito aqui não serão substituídos pelo seu fuso horário selecionado.
Códigos de fuso horário
Os parâmetros de fuso horário são um dos códigos de fuso horário padrão, seja um nome completo (código TZ) como "America/Los_Angeles", um deslocamento UTC como "UTC-8:00" ou uma abreviação como "PST" (código de três letras). Os códigos de fuso horário são sensíveis a maiúsculas e minúsculas. Códigos TZ de nome completo são recomendados, se um fuso horário estiver sendo utilizado, pois "AST" pode se referir tanto ao horário padrão "Atlântico" quanto ao "Árabe".
- Códigos TZ (uma lista não oficial) podem ser encontrados em https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
- Códigos de três letras estão listados em https://en.wikipedia.org/wiki/List_of_time_zone_abbreviations. Estes estão obsoletos pela IANA, embora atualmente suportados.
- Informações adicionais podem ser encontradas em https://www.iana.org/time-zones.
Converter tempos Unix em datas
Se um tempo Unix for um número que inclui precisão em milissegundos, você pode usar um código semelhante a este para converter um tempo Unix em uma data:
// If you have a Unix timestamp with milliseconds such as
createdate = "1478119530707";
// You can convert it to a date by
// truncating the last three digits and using FormatDate:
date = double(Left(createdate, 10));
FormatDate(date, "yyyy-mm-dd");
ConvertTimeZone
Declaração
string ConvertTimeZone(date d, string fromTZ, string toTZ[, bool is_european_format, bool ignoreDST])
string ConvertTimeZone(string d, string fromTZ, string toTZ[, bool is_european_format, bool ignoreDST])
Sintaxe
ConvertTimeZone(<d>, <fromTZ>, <toTZ>[, <is_european_format>, <ignoreDST>])
Parâmetros obrigatórios
date: Uma data, seja como um objeto de data ou como uma string de datafromTZ: O fuso horário do qual será feita a conversão, expresso como um código de fuso horáriotoTZ: O fuso horário para o qual será feita a conversão, expresso como um código de fuso horário
Parâmetros opcionais
-
is_european_format: Este parâmetro opcional determina se o formato de data europeu deve ser utilizado. Quandotrue, o formato é dia e depois mês; quandofalse, o formato é mês e depois dia. -
ignoreDST: Por padrão, o horário de verão é considerado ao converter entre os quatro principais fusos horários dos EUA. Defina este parâmetro opcional comotruepara ignorar essa ação.
Descrição
Recebe uma data e a retorna convertida de um fuso horário para outro.
Nota
Se você estiver usando ConvertTimeZone em conjunto com Now ou Now_, esteja ciente de que o fuso horário retornado é aquele configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando uma função de conversão, como ConvertTimeZone, leve isso em consideração se seu projeto foi projetado para ser executado tanto na nuvem quanto em um agente privado.
Exemplos
ConvertTimeZone(Now(), "UTC", "America/Los_Angeles", false, false);
// If Now() is 2017-03-10 18:34:37
// returns "2017-03-10 10:34:37"
ConvertTimeZone("02/06/2017 5:25:00", "America/Los_Angeles", "America/New_York");
// returns "2017-02-06 08:25:00" (shifts the time by 3 hours)
CVTDate
Declaração
string CVTDate(date d, string inputFormat, string outputFormat)
string CVTDate(string d, string inputFormat, string outputFormat)
Sintaxe
CVTDate(<d>, <inputFormat>, <outputFormat>)
Parâmetros obrigatórios
-
d: Um objeto de data ou string de data -
inputFormat: Uma string de formato, especificando o formato da data de entrada -
outputFormat: Uma string de formato, especificando o formato da data de saída
Descrição
Converte um objeto de data ou string de data no formato de entrada para uma string de data no formato de saída.
Se um objeto de data vazio ou string de data vazia for fornecido para d, um objeto vazio será retornado pela função nas versões do agente 11.39 e posteriores.
Nota
Objetos de data vazios ou strings de data vazias podem produzir resultados errôneos com agentes nas versões 11.38 e anteriores.
Se você estiver usando CVTDate em conjunto com Now ou Now_, esteja ciente de que o fuso horário retornado é aquele configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando uma função de conversão, como CVTDate, leve isso em consideração se seu projeto foi projetado para ser executado tanto na nuvem quanto em um agente privado.
Exemplos
Nestes exemplos, assume-se que todos os agentes estão sendo executados na nuvem, e os horários retornados seriam UTC. "myDate" é a data 19 de junho de 1994.
| Fórmula | Entrada | Saída |
|---|---|---|
CVTDate(myDate, "mmddyy", "yyyymmdd") |
061994 |
19940619 |
CVTDate(myDate, "mmddyy", "ShortDate") |
061994 |
6/19/94 |
CVTDate(myDate, "mmddyy", "LongDate") |
061994 |
Domingo, 19 de junho de 1994 |
CVTDate(Now(), "GeneralDate", "dd-mmm-yy, HH:MM AP") |
em 31/01/17 às 12:39 PM no MST | 31-Jan-17, 07:39 PM |
CVTDate(Now(), "GeneralDate", "dd-mmm-yy, HH:MM.SS AP") |
em 31/01/17 às 12:39:13 PM no MST | 31-Jan-17, 07:39:13 PM |
CVTDate(Now_(), "GeneralDate", "ddmmmyyyy, HH:MM:SS.zzz AP") |
em 31/01/17 às 12:39:13.310 PM no MST | 31Jan2017, 07:39:13.310 PM |
CVTDate(Now(), "GeneralDate", "yyyy_mm_dd_HH_MM") |
em 31/01/17 às 12:39:13.310 PM no MST | 2017_01_31_19_39_13 |
CVTDate(Now(), "UTC", "yyyy-mm-ddTHH:MM:SS.zzzZ") |
em 31/01/17 às 12:39:13.310 PM no MST | 2017-01-31T19:39:13.310Z |
CVTDate(myDate, "mmddyy", "%Y%m%d%a") |
061994 |
19940619Sun |
CVTDate(myDate, "mmddyy", "%Y %m %d %a") |
061994 |
1994 06 19 Sun |
CVTDate(myDate, "mmddyy", "%Y %m %d %A") |
061994 |
1994 06 19 Domingo |
Format strings
O formato tanto da string de data de entrada quanto da string de data de saída é especificado da mesma forma, utilizando caracteres como marcadores de posição ou um dos quatro formatos de data predefinidos (GeneralDate, LongDate, MediumDate, ou ShortDate).
Para entradas, o ano, mês, dia, hora, minuto, segundo e AM/PM são lidos da string de data na posição onde y, m, d, H, M, S, SSS, e AP aparecem na string de formato de entrada.
Para saídas, a string de formato é copiada para a string de dados, com o ano, mês, dia, hora, minuto e segundo substituindo os caracteres de y, m, d, H, M, S, SSS, e AP.
Alternativamente, as substituições usadas no método ANSI C strftime podem ser utilizadas. Por exemplo, a string "%Y-%m-%d" resultaria no formato de data ISO 8601 (yyyy-mm-dd). Consulte a documentação externa sobre strftime para uma descrição detalhada.
Esses códigos podem aparecer conforme necessário na string de formato para especificar como ler a entrada ou escrever a saída:
| Formato | Entrada ou Saída |
|---|---|
yyyy |
ano de 4 dígitos |
yy |
ano de 2 dígitos (últimos) |
??yy |
ano de 2 ou 4 dígitos |
mmm |
Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez |
mm |
mês de 2 dígitos (01-12) |
?m |
mês de 1 ou 2 dígitos (1-12) |
ddd |
data juliana (001-366) |
dd |
dia de 2 dígitos (01-31) |
?d |
dia de 1 ou 2 dígitos (1-31) |
HH |
Hora (00-23) ou (01-12) se AM/PM for especificado usando AP |
MM |
Minuto (00-59) |
SS |
Segundo (00-59) |
zzz |
Milissegundo (.001-.999) |
AP |
AM ou PM |
GeneralDate |
6/19/94 5:34:23 PM |
LongDate |
Domingo, 19 de Junho de 1994 |
MediumDate |
19-Jun-1994 |
ShortDate |
6/19/94 |
DateAdd
Declaração
string DateAdd(string datePart, int number, date d)
string DateAdd(string datePart, int number, string d)
Sintaxe
DateAdd(<datePart>, <number>, <d>)
Parâmetros obrigatórios
datePart: Um código de parte descrevendo a parte da data à qual a adição será aplicadanumber: Um número inteiro a ser adicionado à parte da datad: O objeto de data ou uma string de data a ser manipulada
Descrição
Retorna uma string de data após adicionar um número a uma parte especificada de um objeto de data.
Esses códigos são usados para descrever as partes da data:
| Parte da Data | Código da Parte |
|---|---|
| Ano | yyyy ou yy |
| Mês | mm ou m |
| Semana | ww ou wk |
| Dia | dd |
| Hora | hh |
| Minuto | mi ou n |
| Segundo | ss ou s |
Atenção
Quando usado com versões do agente 10.83 / 11.21 ou anteriores, a função DateAdd retorna o valor errado ao fornecer a parte da data do mês (mm ou m) e um número inteiro negativo que é um múltiplo de 12 (12, 24, 36, etc.). Isso resulta na redução incorreta do ano da data retornada em um ano adicional.
Exemplos
DateAdd("yyyy", 1, Now());
// Adding one year to a date
// If Now() is 2017-03-10 18:46:41
// returns "2018-03-10 18:46:41"
DateAdd("dd", 1, "2017-03-10");
// Adding one day to a date
// returns "2017-03-11"
DayOfMonth
Declaração
int DayOfMonth(date d)
int DayOfMonth(string d)
Sintaxe
DayOfMonth(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna o dia do mês (1-31) de um objeto de data ou string de data.
Exemplos
DayOfMonth(Now());
// Retorna 25 se hoje for 25 de dezembro
DayOfWeek
Declaração
int DayOfWeek(date d)
int DayOfWeek(string d)
Sintaxe
DayOfWeek(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna o dia da semana para um objeto de data ou string de data, com 0 para domingo, 1 para segunda-feira, até 6 para sábado.
Esta definição é independente da localidade. Para o nome do dia da semana, chame FormatDate em vez disso.
Exemplos
DayOfWeek(Now());
// Returns 0, if today is Sunday
Now() + (6 - DayOfWeek(Now()))*24*60*60;
// Returns the date object of the last day of the current week,
// assuming Saturday (day 6) is the last day of the week
FormatDate
Declaração
string FormatDate(date d, string format)
string FormatDate(string d, string format)
Sintaxe
FormatDate(<d>, <format>)
Parâmetros obrigatórios
d: Um objeto de data ou string de dataformat: Uma string de formato, especificando o formato da data de saída
Descrição
Converte um objeto de data em uma string de acordo com uma string de formato. Isso é semelhante à função CVTDate e usa as mesmas strings de formato.
Exemplos
FormatDate(Now(),"%w");
// Similar to DayOfWeek(Now()), except the return value
// is a string value of today's weekday name, such as "Wed"
FormatDate("2017-12-07","%A");
// Returns the weekday name of the date string, such as "Thursday"
LPadChar(String(Long(FormatDate(d, "yyyy")) - 1900), "0", 3) + FormatDate(d, "ddd");
// Returns, for a date d, a string formatted as a JD Edwards Date ("CYYDDD")
// If d = "2000-12-31" (a leap year), returns "100366"
// See https://docs.oracle.com/cd/E26228_01/doc.93/e21961/julian_date_conv.htm#WEAWX259
GeneralDate
Declaração
string GeneralDate(date d)
string GeneralDate(string d)
Sintaxe
GeneralDate(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de data geral para um objeto de data ou string de data.
Exemplos
GeneralDate(Now());
// If Now() is 2017-09-16 11:59:23
// returns "09/16/2017 11:59:23 AM"
GeneralDate("2017-12-07");
// returns "12/07/2017 12:00:00 AM"
GetUTCFormattedDate
Declaração
string GetUTCFormattedDate(date d, string time_zone_id[, bool is_european_format])
string GetUTCFormattedDate(string d, string time_zone_id[, bool is_european_format])
Sintaxe
GetUTCFormattedDate(<d>, <time_zone_id>[, <is_european_format>])
Parâmetros obrigatórios
-
d: Um objeto de data ou string de data -
time_zone_id: O fuso horário a ser convertido, expresso como um código de fuso horário
Parâmetros opcionais
is_european_format: Este parâmetro opcional determina se o formato de data europeu deve ser utilizado. Quandotrue, o formato é dia e depois mês; quandofalse, o formato é mês e depois dia.
Descrição
Retorna uma string de data sem informações de tempo. Converte um objeto de data ou string de data para uma string de acordo com um código de fuso horário.
Aviso
Se for passada uma data com um horário, a função GetUTCFormattedDate() trunca o horário antes de converter para UTC. Isso significa que timestamps que estão após a meia-noite UTC serão retornados como ocorrendo na data anterior, conforme mostrado no exemplo acima para o fuso horário "America/Los_Angeles".
Nota
Se você estiver usando GetUTCFormattedDate em conjunto com Now ou Now_, esteja ciente de que o fuso horário retornado é aquele configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando uma função de conversão, como GetUTCFormattedDate, leve isso em consideração se seu projeto foi projetado para ser executado tanto na nuvem quanto em um agente privado.
Exemplos
// If Now() is 2017-12-09 18:46:41, then:
GetUTCFormattedDate(Now(), "UTC", false);
// Returns "2017-12-09"
GetUTCFormattedDate(Now(), "America/Los_Angeles", false);
// Returns "2017-12-09"
GetUTCFormattedDateTime
Declaração
string GetUTCFormattedDateTime(date d, string time_zone_id[, bool is_european_format])
string GetUTCFormattedDateTime(string d, string time_zone_id[, bool is_european_format])
Sintaxe
GetUTCFormattedDateTime(<d>, <time_zone_id>[, <is_european_format>])
Parâmetros obrigatórios
-
d: Um objeto de data ou string de data -
time_zone_id: O fuso horário a ser convertido, expresso como um código de fuso horário
Parâmetros opcionais
is_european_format: Este parâmetro opcional determina se o formato de data europeu deve ser utilizado. Quandotrue, o formato é dia e depois mês; quandofalse, o formato é mês e depois dia.
Descrição
Retorna uma string de data com informações de tempo. Converte um objeto de data ou string de data em uma string de acordo com um código de fuso horário.
Nota
Se você estiver usando GetUTCFormattedDateTime em conjunto com Now ou Now_, esteja ciente de que o fuso horário retornado é aquele configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando uma função de conversão, como GetUTCFormattedDateTime, leve isso em consideração se seu projeto foi projetado para ser executado tanto na nuvem quanto em um agente privado.
Exemplos
// If Now() is 2017-12-09 18:46:21, then:
GetUTCFormattedDateTime(Now(), "UTC", false);
// returns "2017-12-09T18:46:21Z"
GetUTCFormattedDateTime(Now(), "America/Los_Angeles", false);
// returns "2017-12-10T02:46:21Z"
LastDayOfMonth
Declaração
date LastDayOfMonth(date d)
date LastDayOfMonth(string d)
Sintaxe
LastDayOfMonth(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna um objeto de data representando o último dia do mês para um objeto de data ou string de data.
Exemplos
LastDayOfMonth(Now());
// Se Now() for um dia em fevereiro de 2000 (um ano bissexto),
// retorna "2000-02-29"
LongDate
Declaração
string LongDate(date d)
string LongDate(string d)
Sintaxe
LongDate(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de data longa para um objeto de data ou string de data.
Exemplos
LongDate(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "Sábado, 16 de setembro de 2017"
LongTime
Declaração
string LongTime(date d)
string LongTime(string d)
Sintaxe
LongTime(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de hora longa para um objeto de data ou string de data.
Exemplos
LongTime(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "11:59:23 AM"
MediumDate
Declaração
string MediumDate(date d)
string MediumDate(string d)
Sintaxe
MediumDate(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de data média para um objeto de data ou string de data.
Exemplos
MediumDate(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "16-Sep-17"
MediumTime
Declaração
string MediumTime(date d)
string MediumTime(string d)
Sintaxe
MediumTime(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de hora média para um objeto de data ou string de data.
Exemplos
MediumTime(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "11:59 AM"
MonthOfYear
Declaração
int MonthOfYear(date d)
int MonthOfYear(string d)
Sintaxe
MonthOfYear(<d>)
Parâmetros obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna o mês (1-12) para um objeto de data ou string de data.
Exemplos
MonthOfYear(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "9"
Now
Declaração
date Now()
Sintaxe
Now()
Descrição
Retorna um objeto de data representando os valores de data e hora no momento em que a função foi executada. A fração do segundo é truncada.
Nota
Esteja ciente de que o fuso horário da data retornada é o configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando funções de conversão, leve isso em consideração se seu projeto for projetado para rodar tanto na nuvem quanto em um agente privado.
Examples
Now();
// Se a data e hora atuais forem 11:59:23 AM em 16 de setembro de 2017
// retorna "2017-09-16 11:59:23"
Now_
Declaration
date Now_()
Syntax
Now_()
Description
Retorna um objeto de data representando os valores de data e hora no momento em que a função foi executada. O valor de hora inclui a fração de segundo (milissegundos).
Nota
Esteja ciente de que o fuso horário da data retornada é o configurado na máquina que está executando o agente. Todos os agentes em nuvem estão em UTC. Agentes privados variarão com base na máquina específica em que cada agente está sendo executado. Se você estiver usando funções de conversão, leve isso em consideração se seu projeto for projetado para rodar tanto na nuvem quanto em um agente privado.
Examples
Now_();
// If the current date and time is 11:59:23.123 AM on September 16, 2017
// returns "2017-09-16 11:59:23.123"
// Examples of manipulating Now_ output:
date = Now_();
seconds = Long(date);
milliseconds = FormatDate(date, 'zzz');
ShortDate
Declaration
string ShortDate(date d)
string ShortDate(string d)
Syntax
ShortDate(<d>)
Required Parameters
d: Um objeto de data ou string de data
Description
Retorna uma string no formato de data curta para um objeto de data ou string de data.
Examples
ShortDate(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "9/16/17"
ShortTime
Declaração
string ShortTime(date d)
string ShortTime(string d)
Sintaxe
ShortTime(<d>)
Parâmetros Obrigatórios
d: Um objeto de data ou string de data
Descrição
Retorna uma string no formato de hora curta para um objeto de data ou string de data.
Exemplos
ShortTime(Now());
// Se Now() for 2017-09-16 11:59:23
// retorna "11:59"