Uma função DateTime executa uma ação ou cálculo em um valor de data/hora. Use funções de data e hora para adicionar ou subtrair intervalos, encontrar a data atual, encontrar o primeiro ou o último dia do mês, extrair um componente de um valor de data/hora ou converter um valor em um formato diferente.
O Alteryx usa o formato AAAA-MM-DD HH:MM:SS
para representar datas e horas. Para uma precisão adicional (até 18 dígitos de precisão), adicione um ponto e dígitos adicionais após a posição dos segundos. Por exemplo, AAAA-MM-DD HH:MM:SS.fff
. Se um valor de data e hora não estiver nesse formato, ele será lido como uma cadeia de caracteres. Para converter uma coluna para uso e manipulação no formato DateTime, utilize a função DateTimeParse no editor de expressões ou a ferramenta Data e Hora.
Formato de data
Algumas funções de data e hora (DateTime) exigem que você defina qual é o formato da data. As cadeias de formato são compostas por especificadores e separadores.
Consulte as funções de data e hora abaixo.
DateTimeAdd(dt,i,u)
: adiciona um intervalo específico a um valor de data/hora.
dt
: dados de data/hora.
i
: número inteiro positivo ou negativo de tempo para adicionar ou subtrair.
u
: unidade de data/hora, especificada entre aspas usando palavras-chave listadas na seção Palavras-chave para unidades de data/hora.
DateTimeAdd(DateTimeToday(), -1, "days")
retorna a data de ontem.
DateTimeAdd(DateTimeFirstOfMonth(), 1, "months")
retorna o primeiro dia do próximo mês.
DateTimeAdd("2016-01-30", 1, "month")
retorna 2016-02-29 (porque o mês de fevereiro não tem 30 dias e o último dia de fevereiro naquele ano é 29).
DateTimeAdd("2016-03-30", -1, "month")
retorna 2016-02-29 (porque o mês de fevereiro não tem 30 dias e o último dia de fevereiro naquele ano é 29).
DateTimeAdd("2016-03-30 01:02:03.000000", 495, "microseconds")
retorna 2016-03-30 01:02:03.000495.
Qualquer fração na duração é truncada. Por exemplo, não é possível adicionar 1,5 horas. Em vez disso, adicione 90 minutos.
Adicionar uma unidade não altera o valor das unidades menores. Por exemplo, a adição de horas não altera o valor dos minutos ou segundos. Adicionar meses não muda o dia ou o horário, a menos que o mês resultante não tenha esse dia. Nesse caso, vai para o último dia daquele mês.
Essa função realiza cálculos como se o fuso horário não tivesse alterações de horário relacionadas com o horário de verão e com o horário padrão. Isso pode produzir resultados inesperados se o seu cálculo incluir datas e horários em que a hora muda de horário de verão para horário padrão ou vice-versa. Se a precisão do tempo real transcorrido for crítica, você deverá primeiro converter seus dados para UTC.
DateTimeDay(dt)
: retorna o valor numérico para o dia do mês em um valor de data/hora.
dt
: dados de data/hora.
DateTimeDay("2017-03-24 11:43:23")
retorna 24.
DateTimeDiff(dt1,dt2,u)
: subtrai o segundo argumento do primeiro (dt1 – dt 2) e retorna a diferença como um número inteiro. A duração é retornada como um número inteiro, não como uma cadeia de caracteres, nas unidades de tempo especificadas.
dt
: dados de data/hora.
u
: unidade de data/hora, especificada entre aspas usando palavras-chave listadas na seção Palavras-chave para unidades de data/hora.
DateTimeDiff("2024-01-18", "2024-01-15", "days")
retorna 3.
DateTimeDiff("2016-02-15 00:00:00", "2016-01-15 00:00:01", "Months")
retorna 1 (porque a data inicial e final estão no mesmo dia do mês).
DateTimeDiff("2012-02-29","2011-03-01","years")
retorna 0 (porque apesar de 2012-02-29 ser 365 dias depois de 2011-03-01, o dia 29 de fevereiro vem antes do dia 1º de março, ou seja, entre as duas datas não se passa um ano completo).
DateTimeDiff("2016-02-14", "2016-01-15", "Months")
retorna 0 (porque o dia em fevereiro é menor que o dia em janeiro, ou seja, entre as duas datas não se passa um mês completo).
DateTimeDiff("2016-02-14 23:59:59", "2016-01-15 00:00:00", "Months")
retorna 0 (mesmo que falte só um segundo para atingir o dia que retornaria uma diferença de 1 mês).
DateTimeDiff('2017-02-28', '2016-02-29', 'Months')
retorna 11 (mesmo que 28 seja o último dia de fevereiro em 2017, ele ainda é menor que 29).
DateTimeDiff('2017-02-28 00:59:59.28139502', '2017-02-28 00:59:59.12383125', 'msecs')
retorna 157 (para is milissegundos entre os valores de data/hora).
Para diferenças de mês e ano, um mês é contado somente quando o dia final alcança o dia inicial, ignorando a hora do dia.
Para diferenças de dia, hora, minuto e segundo, o resultado é calculado com precisão e, em seguida, partes fracionárias são truncadas, não arredondadas. Por isso...
DateTimeDiff(‘2016-01-01 00:59:59’, ‘2016-01-01 00:00:00’, ‘Hours’)
é zero.DateTimeDiff(‘2016-01-01 23:59:59’, ‘2016-01-01 00:00:00’, ‘Days’)
é zero.
Os nomes das precisões podem ser abreviados para os três primeiros caracteres (como "sec" e "min"); não há diferenciação entre maiúsculas e minúsculas.
Tenha cuidado ao retornar as diferenças de tempo em segundos. Dados do tipo Int32 só podem armazenar uma diferença de até 68 anos em segundos ou até 4082 anos em minutos. Você pode usar dados do tipo Double ou Int64 para armazenar os intervalos entre todas as datas compatíveis.
Essa função realiza cálculos como se o fuso horário não tivesse alterações de horário relacionadas com o horário de verão e com o horário padrão. Isso pode produzir resultados inesperados se o seu cálculo incluir datas e horários em que a hora muda de horário de verão para horário padrão ou vice-versa. Se a precisão do tempo real transcorrido for crítica, você deverá primeiro converter seus dados para UTC.
DateTimeFirstOfMonth()
: retorna o primeiro dia do mês, à meia-noite.
DateTimeFormat(dt,f,[l],[tz])
: converte dados de data/hora do formato ISO para outro formato especificado (f) em um idioma especificado (l), usando o nome do fuso horário (tz) para uso por outro aplicativo. A saída gerada são dados do tipo cadeia de caracteres. Se o formato especificado tem menos precisão do que os dados recebidos, a saída é truncada e não arredondada. Por exemplo, se você passar um tempo em microssegundos (.012789) e o formato especificar o tempo em milissegundos, o resultado será truncado para .012 em vez de arredondado para .013. O parâmetro opcional de fuso horário permite que você controle o estilo do texto que é adicionado à cadeia de caracteres (por exemplo, "EDT").
dt
: dados de data/hora.
f
: o formato para o qual converter os dados, expresso como uma cadeia de formato. Consulte a sessão Especificadores abaixo.
l
: este é um parâmetro de idioma opcional. O padrão é o idioma selecionado no Designer. Por exemplo, se o Designer estiver definido para o francês, a função exibirá DateTimeParse(dt,f,"Français") por padrão. Observe que, se você omitir esse parâmetro, a função usará o inglês independentemente do idioma da interface do Designer. Consulte Parâmetros de idioma para obter uma lista dos valores de idioma aceitos.
tz
: este é um parâmetro opcional de fuso horário. Observe que os dados não são convertidos. Isso serve apenas para orientar o estilo do texto adicionado à cadeia de caracteres (string).
O identificador de fuso horário determina o deslocamento a ser exibido se você usar a instrução de formato de deslocamento (%z) ou para obter um nome para o fuso horário a ser exibido se você usar a instrução de formato de nome de fuso horário (%Z).
O nome do fuso horário preserva o estilo do argumento: curto (como EST), longo (como Eastern Standard Time), genérico (como ET) ou específico (como EST/EDT).
O nome é modificado para corresponder à estação correta dos dados. Por exemplo, se o tz for fornecido como EST para 2024-08-15, ele será corrigido para EDT. Da mesma forma, para 2024-01-15, se o tz for fornecido como EDT, ele será corrigido para EST. Em ambos os exemplos, se o tz for fornecido como um ET genérico, ele não será alterado para mostrar se é horário de verão ou padrão.
Se o tz não for fornecido na chamada de função, será usado o fuso horário do sistema.
DateTimeFormat('2008-04-22',"%d-%m-%Y")
retorna 22-04-2008 para o dia 22 de abril de 2008 (formato ISO: 2008-04-22).
DateTimeFormat([DateTime_Out],"%A","Spanish")
retorna “martes” para a data ISO 2020-07-14 (em que 14 de julho é terça-feira).
DateTimeFormat('11:59:57.890994389','%H:%M:%S.%5')
retorna "11:59:57.89099" (o valor é truncado para 5 dígitos de precisão com base nos dígitos especificados).
DateTimeFormat('11:59:57.99','%H:%M:%S,%3')
retorna "11:59:57,990" (você pode obter o separador decimal da sua localidade. Este exemplo usa uma vírgula em vez de um ponto decimal).
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'ET')
retorna "Mar 10, 24 01:00:00 ET". O estilo do argumento do fuso horário é curto e genérico, portanto, o mesmo é usado no resultado.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'EDT')
retorna "Mar 10, 24 01:00:00 EST". O estilo do argumento de fuso horário é curto e específico. É incorreto para o horário dos dados. O resultado obtém o deslocamento específico do fuso horário corrigido.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Time')
retorna "Mar 10, 24 01:00:00 Eastern Time". O estilo é mantido e nenhuma mudança precisa ser corrigida.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %Z', '', 'Eastern Daylight Time')
retorna "Mar 10, 24 01:00:00 Eastern Standard Time". A mudança de fuso horário foi corrigida.
DateTimeFormat('2024-03-10 01:00:00', '%b %d, %y %T %z', '', 'ET')
retorna "Mar 10, 24 01:00:00 -0400".
DateTimeHour(dt)
: retorna a parte das horas de um valor de data/hora.
dt
: dados de data/hora.
DateTimeHour("2017-03-24 11:43:23")
retorna 11.
DateTimeHour("2017-03-24")
retorna 0, porque quando não há um horário especificado nos dados, meia-noite é a hora adotada.
DateTimeLastOfMonth()
: retorna o último dia do mês atual, com o relógio definido para um segundo antes do final do dia (23:59:59).
O Designer usa a data e a hora em que o fluxo de trabalho começa a ser executado. Em um processo em lotes, essa data é usada com cada novo conjunto de dados. Isso garante consistência caso o processo demore muito tempo.
DateTimeMinutes(dt)
: retorna a parte dos minutos de um valor de data/hora.
dt
: dados de data/hora.
DateTimeMinutes("2017-03-24 11:43:23")
retorna 43.
DateTimeMonth(dt)
: retorna o valor numérico para o mês em um valor de data/hora.
dt
: dados de data/hora.
DateTimeMonth("2017-03-24 11:43:23")
retorna 3.
DateTimeMonth("11:43:23")
retorna [Null] (nulo) porque os dados recebidos não são válidos.
DateTimeNow([tz])
: retorna a data e a hora atuais, incluindo os segundos. Se você fornecer o parâmetro opcional de fuso horário (tz), o horário retornado será nesse fuso horário. se você não fornecer um fuso horário, o horário retornado usa o fuso horário do seu sistema.
tz
: (opcional) fornece um fuso horário para o horário retornado. Se fornecido, o horário retornado usa esse fuso horário. Se omitido, o horário retornado usa o fuso horário do sistema.
DateTimeNowPrecise(digits,[tz])
: retorna a data e o horário atuais do sistema com a precisão de frações de segundo (até 18 dígitos de precisão). Se você fornecer o parâmetro opcional de fuso horário (tz), o horário retornado será nesse fuso horário. e você não fornecer um fuso horário, o horário retornado usa o fuso horário do seu sistema.
Observe que se você solicitar uma precisão além do que o seu sistema operacional fornece, a função preencherá o restante com zeros, como no segundo exemplo abaixo.
digits
: especifique a precisão do valor retornado, entre 0 e 18 (inclusive).
tz
: (opcional) fornece um fuso horário para o horário retornado. Se fornecido, o horário retornado usa esse fuso horário. Se omitido, o horário retornado usa o fuso horário do sistema.
DateTimeNowPrecise(3)
retorna "2022-10-14 11:59:57.991".
DateTimeNowPrecise(12)
retorna "2022-10-14 11:59:57.991238400000".
DateTimeParse(string,f,[l],[tzName])
: converte uma cadeia de caracteres de data (string) com o formato especificado (f) no idioma especificado (l) com um fuso horário especificado (tzName) para o formato (AAAA:MM:DD HH:MM:SS
com precisão de data/hora opcional, se aplicável). Se o formato especificado tiver menos precisão, o resultado será truncado.
string
: dados da cadeia de caracteres de data/hora. Os dados de entrada devem ser do tipo cadeia de caracteres e podem estar em qualquer formato de data/hora desde que esse formato coincida com o que for especificado para o parâmetro f.
f
: o formato da data/hora nos dados de cadeia de caracteres que você quer converter, expresso como uma cadeia de formato entre aspas.
Fusos horários
Se o formato de entrada incluir %z ou %Z, o Alteryx saberá o fuso horário de entrada. Converte o valor do resultado de "DateTime" no fuso horário local ou especificado. Se o formato ou os dados não tiverem informações de fuso horário, o Alteryx presumirá que a entrada já está no fuso horário local e não aplicará nenhuma mudança de horário.
Revise seus dados e tome as medidas adequadas para garantir que o resultado (output) esteja no formato esperado. Para considerações importantes sobre fuso horário, acesse Fuso horário e mudanças de horário de verão/padrão.
l
: (opcional): o idioma da data/hora nos dados de cadeia de caracteres que você quer converter. O parâmetro de idioma é, por padrão, o idioma que você selecionou para o Designer ao editar fórmulas. Se omitido ou em branco, será usado "Inglês". Por exemplo, se o Designer estiver definido para o francês, a função exibirá DateTimeParse(string,f,"Français") por padrão. Consulte Parâmetros de idioma para obter os valores de idioma aceitos.
tz
: (opcional) o fuso horário para o qual converter os dados se %z ou %Z estiver no formato e o texto tiver o nome de um fuso horário ou um deslocamento. Os exemplos ajudarão a esclarecer isto. Se o fuso horário for omitido, o fuso horário do sistema será usado para conversão.
DateTimeParse("2016/28-03","%Y/%d-%m")
retorna 2016-03-28.
DateTimeParse('mardi 14 juillet 2020', '%A %d %B %Y', 'Français')
retorna 2020-07-14 para a cadeia de caracteres de entrada “mardi 14 juillet 2020” (terça-feira, 14 de julho de 2020).
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S')
retorna "2022-10-04 11:59:57". A função descarta os dígitos finais.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S.%3')
retorna "2022-10-04 11:59:57.990". A função adiciona zeros para corresponder ao formato %3.
DateTimeParse('Oct 4, 22 11:59:57.99', '%b %d, %y %H:%M:%S,%3')
retorna [Null] e um aviso de que era esperado "," em vez de ".".
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T %Z')
retorna "2024-03-10 04:00:00" se o fuso horário local for oriental (Eastern).
DateTimeParse('Mar 12, 24 01:00:00 PST', '%b %d, %y %T %Z')
Retorna '2024-03-12 05:00:00' se o fuso horário local for Eastern porque o horário Eastern já mudou para EDT (Eastern Daylight Time).
DateTimeParse('Mar 10, 24 01:00:00', '%b %d, %y %T %Z')
retorna "2024-03-10 01:00:00" se o fuso horário local for Eastern. Embora o formato solicitasse informações de fuso horário, nenhuma delas estava presente nos dados. Sem saber o fuso horário para os dados de entrada, nenhuma conversão é feita.
DateTimeParse('Mar 10, 24 01:00:00 PST', '%b %d, %y %T')
retorna "2024-03-11 01:00:00". Como no exemplo acima, se o formato não solicitar o uso de informações de fuso horário, todos os dados que possam ter dados de fuso horário serão ignorados.
DateTimeQuarter(dt, [Q1Start]
: retorna o valor numérico para o trimestre do ano no qual um valor de data/hora (AAAA-MM-DD) cai. Use o parâmetro numérico opcional para indicar o mês de início para o primeiro trimestre (Q1).
dt
: dados de data/hora.
Q1Start
: parâmetro numérico opcional para indicar o mês de início para o primeiro trimestre (1 a 12).
DateTimeQuarter("2023-01-03")
retorna 1. Nenhum erro porque o segundo parâmetro é opcional.
DateTimeQuarter("2023-05-03", 1)
retorna 2.
DateTimeQuarter("2023-05-03", 7)
retorna 4. O parâmetro opcional indica que o primeiro trimestre inicia em julho.
DateTimeQuarter("2023-05-03 12:04:55", 7)
retorna 4. O parâmetro opcional indica que o primeiro trimestre inicia em julho e o carimbo de data/hora é ignorado.
DateTimeQuarter("2023-01-03", 13)
retorna nulo. O segundo parâmetro deve ser um valor numérico entre 1 e 12.
DateTimeQuarter("2023-01-03", 0)
retorna nulo. O segundo parâmetro deve ser um valor numérico entre 1 e 12.
DateTimeQuarter("2023-01-03", -1)
retorna nulo. O segundo parâmetro deve ser um valor numérico entre 1 e 12.
DateTimeQuarter("12:00:55")
retorna nulo.
DateTimeSeconds(dt)
: retorna a parte dos segundos de um valor data/hora, incluindo qualquer nível de precisão de subsegundos, se aplicável.
dt
: dados de data/hora.
DateTimeSeconds('11:59:57.99')
retorna 57.99.
DateTimeSeconds('11:59:57')
retorna 57.
DateTimeStart()
: retorna a data e a hora em que o fluxo de trabalho atual começou a ser executado, usando o fuso horário do sistema.
DateTimeToday()
: retorna a data de hoje.
Comportamento esperado: tipo dos dados com DateTimeToday
Apesar do nome, a função DateTimeToday()
não retorna um valor de hora (Time). Em vez disso, ela retorna apenas um valor de data (Date) com a data atual. Você pode encapsular a função DateTimeToday()
dentro da função ToDateTime()
para retornar um valor de data e hora com o horário definido para a meia-noite do dia atual:
ToDateTime(DateTimeToday())
DateTimeToLocal(dt,[tz])
: converte uma data/hora UTC para o argumento opcional tz ou então para o fuso horário do sistema local. A função DateTimeToLocal agora oferece suporte para a precisão de data/hora no campo "dt".
Nota
O resultado não tem nenhuma indicação sobre qual é o fuso horário. É necessário usar DateTimeFormat ou modificar o resultado como uma cadeia de caracteres (string) para indicar o fuso horário, se desejar. Se você usar "DateTimeFormat", o argumento tz deve ser um nome para o mesmo tz usado na conversão. Poderia usar um estilo diferente, como "EST", "Eastern Daylight Time", "America/New_York", ou "-0400". Para considerações importantes sobre fuso horário, acesse Fuso horário e mudanças de horário de verão/padrão.
dt
: dados de data/hora.
tz:
esse é um parâmetro opcional de fuso horário para converter os dados de data/hora. Se (tz) não for fornecido na chamada de função, será usado o fuso horário do sistema.
DateTimeToLocal('2014-08-01 20:01:25')
converte para o fuso horário do sistema local (Mountain Time, em português, Hora Padrão das Montanhas) como 2014-08-01 14:01:25.
DateTimeToLocal('2024-08-15 09:00:00.123')
converte a hora UTC para a hora do sistema, que pode ser "America/New_York", retornando "2024-08-15 05:00:00.123", ou pode ser "America/Denver", retornando "2024-08-03:00:00.123".
DateTimeToLocal('2024-08-15 09:00:00.123', 'EST')
converte a hora UTC para Eastern Daylight Time (Horário de Verão do Leste), mesmo que a hora especificada seja Standard Time (horário padrão). A especificação de horário de verão/padrão é ignorada ao procurar o fuso horário para a conversão, portanto, retorna "2024-08-15 05:00:00.123".
DateTimeToUTC(dt,[tz])
: converte uma data/hora (no fuso horário do sistema local ou no fuso horário fornecido) em UTC. Presume-se que a data/hora de entrada esteja no fuso horário fornecido ou no fuso horário do sistema no qual o fluxo de trabalho está sendo executado. A função DateTimeToUTC agora oferece suporte para a precisão de data/hora no campo dt.
Nota
O resultado não tem nenhuma indicação de que está em UTC. É necessário usar DateTimeFormat ou modificar o resultado como uma cadeia de caracteres para indicar o fuso horário, se desejar. Se você usar "DateTimeFormat", o argumento tz deve ser um nome para o mesmo fuso horário usado na conversão. O mesmo poderia usar um estilo diferente, como "UTC", "GMT", "Z", ou "+0000". Para considerações importantes sobre fuso horário, acesse Fuso horário e mudanças de horário de verão/padrão.
dt
: dados de data/hora.
tz
: este é um parâmetro opcional de fuso horário. Se o tz não for indicado na chamada de função, será utilizado o fuso horário do sistema.
DateTimeToUTC(DateTimeNow())
retorna o Tempo Universal Coordenado (UTC) no momento da execução do fluxo de trabalho, ou seja, retorna 2014-08-01 20:01:25 caso o fluxo seja executado em 2014-08-01 14:01:25 na Hora Padrão das Montanhas.
DateTimeToUTC('2024-08-15 09:00:00.123')
converte a hora para UTC a partir da hora do sistema, que pode ser "America/New_York", retornando "2024-08-15 13:00:00.123", ou "America/Denver", retornando "2024-08-15:00:00.123".
DateTimeTrim(dt,t)
: remove partes indesejadas de uma data/hora e retorna a data/hora modificada.
dt
: dados de data/hora.
t
: tipo de corte que você deseja fazer. As opções incluem...
firstofmonth: ajusta para o início do mês (faz o mesmo que “month”).
lastofmonth: ajusta para um segundo antes do final do último dia do mês.
year: ajusta para a meia-noite de 1º de janeiro.
month: ajusta para a meia-noite do primeiro dia do mês.
day
: ajusta para o dia (ou seja, meia-noite). Converte uma data/hora para uma data com o horário definido para zero (não somente uma data).hour: ajusta para a hora.
minute: ajusta para o minuto.
seconds
: ajusta para o segundo e frações de segundo usando as palavras-chaves listadas na seção Palavras-chave para unidades de data/hora.
Ao usar a função trim para cortar uma data/hora, o valor retornado não é arredondado. Por exemplo, o horário 15:59:59 ajustado para a hora (t = "hour") retorna 15:00:00, não 16:00:00.
DateTimeTrim("2016-12-07 16:03:00","year")
retorna 2016-01-01 00:00:00.
DateTimeTrim('2016-12-07 11:59:57.99','msec')
retorna 2016-12-07 11:59:57.990.
DateTimeTrim('2016-12-07 11:59:57.99',4)
retorna 2016-12-07 11:59:57.9900.
DateTimeTrim('2016-12-07 11:59:57.123456789','milliseconds')
retorna 11:59:57.123.
DateTimeYear(dt)
: retorna o valor numérico para o ano em um valor de data/hora.
dt
: dados de data/hora.
DateTimeYear("2017-03-24 11:43:23")
retorna 2017.
ToDate(x)
: converte uma cadeia de caracteres (string), número ou data/hora em uma data.
Uma cadeia de caracteres (string) de entrada deve estar formatada como aaaa-mm-dd. Por exemplo, 2020-10-31.
Um número de entrada deve estar formatado como um formato de data do Excel, em que o número representa o número de dias desde 01-01-1900. Por exemplo, 7000, que corresponde a 1º de março de 1919.
Uma data/hora de entrada deve estar formatada como aaaa-mm-dd hh:mm:ss. Por exemplo, 2020-10-31 12:00:00.
ToDate('2020-10-31')
retorna 2020-10-31 como uma data.
ToDate(7000)
retorna 1919-03-01 como uma data.
ToDate('2020-10-31 12:00:00')
retorna 2020-10-31 como uma data.
ToDateTime(x)
: converte uma cadeia de caracteres, um número ou uma data em uma data/hora. A função ToDateTime oferece suporte à precisão superior a segundos. Limite os valores de Excel à representação de segundos (5 dígitos, até 99999).
Uma cadeia de caracteres de entrada deve estar formatada como aaaa-mm-dd hh:mm:ss. Por exemplo, 2020-10-31 12:00:00.
Um número de entrada deve estar formatado como um formato de data/hora do Excel, em que o número representa o número de dias desde 01-01-1900. Por exemplo, 7000.354167, que corresponde a 1º de março de 1919 às 08:30.
ToDateTime('2020-10-31')
retorna 2020-10-31 00:00:00 como uma data/hora.
ToDateTime(7000.354167)
retorna 1919-03-01 08:30:00 como uma data/hora.
ToDateTime('2020-10-31 12:00:00')
retorna 2020-10-31 12:00:00 como uma data/hora.
Refere-se a estes especificadores, separadores, palavras-chave e parâmetros de idioma para utilização em funções de data/hora.
Os especificadores sempre começam com um sinal de porcentagem (%) seguido por uma letra (há diferenciação entre maiúsculas e minúsculas) ou número. Os dados devem incluir pelo menos um ano de dois dígitos.
Dica
Se preferir visualizar uma lista em ordem alfabética, confira abaixo.
Especificador | Saída de DateTimeFormat | Entradas compatíveis com DateTimeParse |
---|---|---|
Ano | ||
| Os últimos dois dígitos do ano (“16”). | Até 4 dígitos são lidos (parando em um separador ou no fim da cadeia de caracteres) e mapeados para um intervalo entre o ano atual menos 66 até o ano atual mais 33. Por exemplo, em 2016, o intervalo vai de 1950 a 2049. Limitação com datas de seis dígitos Como até quatro dígitos são lidos para o ano, os formatos que informam apenas dois dígitos sem um separador, como um carimbo de data de seis dígitos (por exemplo, %y%m%d, como 170522 para 22 de maio de 2017), ainda são lidos como quatro dígitos. Para contornar essa limitação, você pode...
|
| Todos os quatro dígitos do ano (“2016”). | Dois ou quatro dígitos são lidos. Dois dígitos são mapeados para um intervalo entre o ano atual menos 66 e o ano atual mais 33. Por exemplo, em 2024, o intervalo vai de 1958 a 2057. |
Mês | ||
| Nome abreviado do mês (“Set”) | Qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês (no idioma especificado). |
| Nome completo do mês (“Setembro”) | Nome do mês ou qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês (no idioma especificado). |
| Nome abreviado do mês. O mesmo que %b ("Set"). | Qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês. |
| Número do mês, de 01 a 12. | Número do mês com 1 ou 2 dígitos, de 1 ou 01 até 12. |
Semana | ||
| Retorna o número da semana, como 00 a 53, com o início das semanas sendo domingo. | Sem suporte |
| Retorna o número da semana, como 00 a 53, com o início das semanas sendo segunda-feira. | Sem suporte |
Dia do ano/mês | ||
| Dia do mês (“01”) | 1 ou 2 dígitos, ignorando espaços ("1" ou "01"). |
| Dia do mês, com o 0 à esquerda substituído por um espaço (“ 1”). | 1 ou 2 dígitos, ignorando espaços ("1" ou "01"). |
| O dia do ano, 001 a 365 (ou 366 em anos bissextos) | Dia do ano com 3 dígitos, de 001 a 365 (ou 366 em anos bissextos). |
Dia da semana | ||
| Nome abreviado do dia da semana (“Seg”) | Qualquer abreviação válida de um dia da semana ("seg", "ter", "qui"). Retorna um erro somente se o texto fornecido não for um dia da semana. Observe que o Alteryx não verifica se o nome do dia especificado é válido para uma determinada data. |
| Nome completo do dia da semana (“Segunda-feira”) | Nome do dia ou qualquer abreviação válida de um dia da semana ("seg", "ter", "qui"). Retorna um erro somente se o texto fornecido não for um dia da semana. Observe que o Alteryx não verifica se o nome do dia especificado é válido para uma determinada data. |
| Dia da semana como um decimal de 1 a 7, com a segunda-feira sendo 1. | Sem suporte |
| Dia da semana como um número de 0 a 6, com o domingo sendo 0. | Sem suporte |
Hora, minuto, segundo | ||
| Hora no relógio de 24 horas, de 00 a 23. | Até 2 dígitos para a hora, de 0 a 23. Não é compatível com %p ou %P. |
| Hora no relógio de 12 horas, de 01 a 12. | Até 2 dígitos para a hora, de 1 a 12. Deve ser seguido por %p ou %P. |
| 24 horas, o zero à esquerda é um espaço, de “ 0” a “23”. | Até 2 dígitos para a hora. |
| Minutos, 00 a 59 | Até 2 dígitos para os minutos. |
| Segundos, 00 a 59 | Até 2 dígitos para os segundos. |
Diversos | ||
| O número de dígitos de precisão para sub-segundos. | Até 18 dígitos de precisão para sub-segundos. |
| A data e a hora da localidade do computador. | Sem suporte |
| O número do século (“20”) | Sem suporte |
| Equivalente a %m/%d/%y | Sem suporte |
| O mesmo que %b (“Set”) | Qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês. |
| 12 horas, o zero à esquerda é um espaço, de “ 1” a “12”. | Sem suporte |
| "AM" ou "PM" | Não diferencia maiúsculas e minúsculas ("aM" ou "Pm"). Deve vir após %I (letra "i" maiúscula, hora no formato 12 horas). |
| "am" ou "pm" | Não diferencia maiúsculas e minúsculas ("aM" ou "Pm"). Deve vir após %I (letra "i" maiúscula, hora no formato 12 horas). |
| Tempo em notação de 24 horas. Equivalente a %H:%M:%S | Tempo em notação de 24 horas. Equivalente a %H:%M:%S |
| A data da localidade do computador. | Sem suporte |
| Tempo como no relógio de 12 horas, incluindo AM ou PM ("11:51:02 AM"). | Horas:Minutos:Segundos [AM / PM] |
| Diferença do horário UTC (“-600”). | Com suporte para a entrada. |
| Nome completo do fuso horário (por exemplo, “Horário Padrão de Brasília"). | Com suporte para a entrada. |
Especificador | Saída de DateTimeFormat | Entradas compatíveis com DateTimeParse |
---|---|---|
| O número de dígitos de precisão para sub-segundos. | Até 18 dígitos de precisão para sub-segundos. |
| Nome abreviado do dia da semana (“Seg”) | Qualquer abreviação válida de um dia da semana ("seg", "ter", "qui"). Retorna um erro somente se o texto fornecido não for um dia da semana. Observe que o Alteryx não verifica se o nome do dia especificado é válido para uma determinada data. |
| Nome completo do dia da semana (“Segunda-feira”) | Nome do dia ou qualquer abreviação válida de um dia da semana ("seg", "ter", "qui"). Retorna um erro somente se o texto fornecido não for um dia da semana. Observe que o Alteryx não verifica se o nome do dia especificado é válido para uma determinada data. |
| Nome abreviado do mês (“Set”) | Qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês (no idioma especificado). |
| Nome completo do mês (“Setembro”) | Nome do mês ou qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês (no idioma especificado). |
| A data e a hora da localidade do computador. | Sem suporte |
| O número do século (“20”) | Sem suporte |
| Dia do mês (“01”) | 1 ou 2 dígitos, ignorando espaços ("1" ou "01"). |
| Equivalente a %m/%d/%y | Sem suporte |
| Dia do mês, com o 0 à esquerda substituído por um espaço (“ 1”). | 1 ou 2 dígitos, ignorando espaços ("1" ou "01"). |
| Nome abreviado do mês. O mesmo que %b ("Set"). | Qualquer abreviação válida do nome de um mês ("Set", "SET"). Retorna um erro somente se o texto fornecido não for o nome de um mês. |
| Hora no relógio de 24 horas, de 00 a 23. | Até 2 dígitos para a hora, de 0 a 23. Não é compatível com %p ou %P. |
| Hora no relógio de 12 horas, de 01 a 12. | Até 2 dígitos para a hora, de 1 a 12. Deve ser seguido por %p ou %P. |
| O dia do ano, 001 a 365 (ou 366 em anos bissextos). | Dia do ano com 3 dígitos, de 001 a 365 (ou 366 em anos bissextos). |
| 24 horas, o zero à esquerda é um espaço, de “ 0” a “23”. | Até 2 dígitos para a hora. |
| 12 horas, o zero à esquerda é um espaço, de “ 1” a “12”. | Sem suporte |
| Minutos, 00 a 59 | Até 2 dígitos para os minutos. |
| Número do mês, de 01 a 12. | Número do mês com 1 ou 2 dígitos, de 1 ou 01 até 12. |
| "AM" ou "PM" | Não diferencia maiúsculas e minúsculas ("aM" ou "Pm"). Deve vir após %I (letra "i" maiúscula, hora no formato 12 horas). |
| "am" ou "pm" | Não diferencia maiúsculas e minúsculas ("aM" ou "Pm"). Deve vir após %I (letra "i" maiúscula, hora no formato 12 horas). |
| Segundos, 00 a 59 | Até 2 dígitos para os segundos. |
| Tempo em notação de 24 horas. Equivalente a %H:%M:%S | Tempo em notação de 24 horas. Equivalente a %H:%M:%S |
| Dia da semana como um decimal de 1 a 7, com a segunda-feira sendo 1. | Sem suporte |
| Retorna o número da semana, como 00 a 53, com o início das semanas sendo domingo. | Sem suporte |
| Dia da semana como um número de 0 a 6, com o domingo sendo 0. | Sem suporte |
| Retorna o número da semana, como 00 a 53, com o início das semanas sendo segunda-feira. | Sem suporte |
| A data da localidade do computador. | Sem suporte |
| Tempo como no relógio de 12 horas, incluindo AM ou PM ("11:51:02 AM"). | Horas:Minutos:Segundos [AM/PM] |
| Os últimos dois dígitos do ano (“16”). | Até 4 dígitos são lidos (parando em um separador ou no fim da cadeia de caracteres) e mapeados para um intervalo entre o ano atual menos 66 até o ano atual mais 33. Por exemplo, em 2016, o intervalo vai de 1950 a 2049. Limitação com datas de seis dígitos Como até quatro dígitos são lidos para o ano, os formatos que informam apenas dois dígitos sem um separador, como um carimbo de data de seis dígitos (por exemplo, %y%m%d, como 170522 para 22 de maio de 2017), ainda são lidos como quatro dígitos. Para contornar essa limitação, você pode...
|
| Todos os quatro dígitos do ano (“2016”). | Dois ou quatro dígitos são lidos. Dois dígitos são mapeados para um intervalo entre o ano atual menos 66 e o ano atual mais 33. Por exemplo, em 2024, o intervalo vai de 1958 a 2057. |
| Diferença do horário UTC (“-600”). | Com suporte para a entrada. |
| Nome completo do fuso horário (por exemplo, “Horário Padrão de Brasília"). | Com suporte para a entrada. |
Insira separadores entre os especificadores de data/hora para formar uma cadeia de formato.
Separador | Saída de DateTimeFormat | Entradas compatíveis com DateTimeParse* |
---|---|---|
| / | / ou - |
| - | / ou - |
espaço | Um espaço | Qualquer sequência de espaços em branco. |
| Uma nova linha | Sem suporte |
| Uma tabulação | Sem suporte |
outros | Outros caracteres, como vírgula, ponto final e dois-pontos. | Outros caracteres, como vírgula, ponto final e dois-pontos. |
*DateTimeParse aceita barras ( / ) e hífens ( - ) de maneira intercambiável. No entanto, vírgulas, dois-pontos e todos os outros separadores devem corresponder exatamente aos dados recebidos.
Estas palavras-chave são compatíveis com as funções DateTimeAdd, DateTimeDiff e DateTimeTrim. Não há diferenciação de maiúsculas e minúsculas. As palavras-chave aceitas para cada unidade estão separadas por vírgulas.
Em alguns casos, aceitamos desde a abreviação até a palavra completa. Esses casos estão especificados na lista abaixo com a palavra até
e variam da abreviatura mais curta aceitável até a palavra-chave completa. Por exemplo, para os segundos aceitamos sec
e seconds
, bem como qualquer variação entre as duas formas, como seco
. Observe que as palavras-chave estão em inglês e a tradução para outros idiomas não é compatível.
Você também pode usar valores numéricos como palavras-chave para o tempo de sub-segundos. Isso inclui unidades que não estão especificamente mencionadas na lista abaixo. Por exemplo, você pode usar a palavra-chave "10" para indicar 10 dígitos de precisão.
yea até years
mon até months
day, days
hou até hours
min até minutes
sec até seconds
ds, dsec, dsecs, deciseconds, 1
cs, csec, csecs, centiseconds, 2
ms, msec, msecs, milliseconds, 3
us, usec, usecs, microseconds, 6
ns, nsec, nsecs, nanoseconds, 9
ps, psec, psecs, picoseconds, 12
fs, fsec, fsecs, femtoseconds, 15
as, asec, asecs, attoseconds, 18
Para alguns exemplos do tamanho do campo DateTime em diferentes unidades de precisão, consulte esta tabela:
Nome | Abreviatura | Tamanho do campo DateTime | Exemplo |
---|---|---|---|
Segundos |
| 19 (padrão) | 2023-02-24 01:23:45 |
Decissegundos (1) |
| 21 (19 + 1 + 1) | 2023-02-24 01:23:45.1 |
Centissegundos (2) |
| 22 (19 + 1 + 2) | 2023-02-24 01:23:45.12 |
Milissegundos (3) |
| 23 (19 + 1 + 3) | 2023-02-24 01:23:45.123 |
Microssegundos (6) |
| 26 (19 + 1 + 6) | 2023-02-24 01:23:45.123456 |
Nanossegundos (9) |
| 29 (19 + 1 + 9) | 2023-02-24 01:23:45.123456789 |
Picossegundos (12) |
| 32 (19 + 1 + 12) | 2023-02-24 01:23:45.123456789012 |
Femtossegundos (15) |
| 35 (19 + 1 + 15) | 2023-02-24 01:23:45.123456789012345 |
Attossegundos (18) |
| 38 (19 + 1 + 18) | 2023-02-24 01:23:45.123456789012345678 |
Estes são os valores compatíveis com o parâmetro "l" (language, em português, idioma), que pode ser usado pelas funções DateTimeFormat e DateTimeParse.
Nome do idioma em inglês | Nome do idioma na língua nativa | Código do idioma |
---|---|---|
Inglês | Inglês | en |
Italiano | Italiano | it |
Francês | Français | fr |
Alemão | Deutsch | de |
Japonês | 日本語 | ja |
Espanhol | Español | es |
Portuguese | Português | pt |
Chinês | 简体中文 | zh |
Além dos valores acima, valores que tenham pelo menos 2 caracteres de comprimento e que comecem como qualquer dos nomes acima também são aceitáveis. Por exemplo, eng, engl, engli etc. para o idioma inglês, ou esp, espa, sp, spa, span etc. para o espanhol.
Há muitos estilos para nomear fusos horários. Os nomes podem ser longos (Mountain Time), curtos (MT), específicos (MDT, MST) ou genéricos (MT). A Internet Assigned Names Authority (IANA) mantém um banco de dados de informações de fuso horário. Seu estilo de nome é Região/Cidade (por exemplo, "America/Los Angeles", "Europe/Paris").
As informações de hora também podem ser marcadas com seu deslocamento em relação ao Tempo Universal Coordenado (UTC). Por exemplo, 11:31-0500 é um fuso horário que está 5 horas atrás do UTC (o mesmo momento no UTC é 16:31). Esse horário pode ser o Horário de Verão Central (Central Daylight Time), o Horário Padrão do Leste (Eastern Standard Time) ou o Horário do Peru (Peru Time). O estilo da IANA é o nome canônico de um fuso horário. Outros nomes podem ser aceitos, dependendo da localidade do usuário.
O Alteryx usa uma biblioteca amplamente utilizada (ICU) para procurar informações de fuso horário. Se o seu fluxo de trabalho fizer referência a um fuso horário que não pode ser encontrado, o fluxo de trabalho relatará um erro.
Atenção
Lembre-se de que os nomes curtos podem ser ambíguos. Por exemplo, IST pode ser o horário padrão da Índia, de Israel ou da Irlanda. Portanto, tenha cuidado com seus dados de entrada.
A Alteryx recomenda a substituição de nomes curtos de fuso horário por nomes longos ou no estilo da IANA para garantir que seus dados sejam tratados adequadamente. Você pode usar a ferramenta Encontrar e Substituir para fazer isso.
Para localizar um fuso horário por nome, se o idioma do Designer estiver definido para um idioma diferente do inglês (por meio de Configurações de usuário > Idioma e região), o Alteryx primeiro solicita à ICU que procure o fuso horário usando esse idioma. Se não conseguir encontrar o fuso horário com esse idioma, o Alteryx pede à ICU que procure o fuso horário usando o inglês. Acontece que, em algumas regiões, as abreviações em inglês são usadas mesmo quando o idioma local tem um nome longo para a zona.
O Alteryx também tenta procurar o nome em cada idioma compatível, começando pelo idioma da interface do Designer (ou o idioma especificado na função).
Dica
Você deve estar ciente dos nomes usados para fusos horários em seus dados e, possivelmente, usar a ferramenta Encontrar e Substituir para garantir que você tenha os nomes apropriados dos fusos horários.
Os fusos horários que têm mudanças de horário de verão e padrão encontram complicações ao tentar interpretar os horários próximos à mudança de horário de verão para horário padrão e vice-versa.
Há uma hora por volta da mudança para o horário de verão que é inválida. Nos EUA, quando o horário padrão local estava prestes a chegar a 10 de março de 2024, 2:00:00 AM, os relógios foram adiantados em 1 hora para 10 de março de 2024, 3:00:00 AM, horário de verão local.
Como resultado, não houve "2024-03-10 02:30:00 Eastern Time", por exemplo. Esse horário é inválido, não existe. No entanto, as bibliotecas do Alteryx não detectam esse problema. Se você converter DateTimeToUTC('2024-03-10 02:30:00', 'Eastern Time')
, o código aplica o deslocamento para o tempo padrão (5 horas), e retorna "2024-03-10 07:30:00"
sem qualquer aviso da entrada inválida.
Tem uma hora na mudança para o horário padrão que é ambígua. Nos EUA, quando o horário de verão local está prestes a atingir 3 de novembro de 2024, 2:00:00 AM, os relógios são atrasados em 1 hora para 3 de novembro de 2024, 1:00:00 AM, horário padrão local.
"2024-11-03 01:30:00 Eastern Time" pode ser o Horário Padrão do Leste (Eastern Standard Time) ou o Horário de Verão do Leste (Eastern Daylight Time). Como é um erro muito comum especificar EST para uma hora que está, na verdade, em horário de verão, ou EDT para uma hora que é, na verdade, padrão, as bibliotecas geralmente ignoram a especificação da estação ao procurar informações de fuso horário.
Como resultado, o Alteryx não consegue converter a hora ambígua de "Eastern Time" para UTC usando a estação especificada corretamente. Ele aplica o deslocamento para o horário padrão (5 horas), independentemente de EST ou EDT ser especificado como o fuso horário a ser usado, ou seja...
DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Daylight Time')
retorna 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Standard Time')
retorna 2024-11-03 06:30:00.DateTimeToUTC('2024-11-03 01:30:00', 'Eastern Time')
retorna 2024-11-03 06:30:00.
Suporte a datas
O Alteryx Designer não pode processar datas anteriores a 1º de janeiro de 1400.
O Alteryx é compatível com datas em anos de 1400 a 9999. Presumimos que todas as datas estão no calendário gregoriano, que é o calendário civil usado atualmente na maior parte do mundo. Todos os cálculos (adição e subtração) ignoram os segundos bissextos.