Funções DateAdd, DateDiff e TimeZoneOffset no PowerAppsDateAdd, DateDiff, and TimeZoneOffset functions in PowerApps

Adiciona ou encontra a diferença em valores de data/hora e converte entre a hora local e UTC.Adds to or finds the difference in date/time values and converts between local time and UTC.

DescriçãoDescription

A função DateAdd adiciona um número de unidades a um valor de data/hora.The DateAdd function adds a number of units to a date/time value. O resultado é um novo valor de data/hora.The result is a new date/time value. Também é possível subtrair uma quantidade de unidades de um valor de data/hora especificando um valor negativo.You can also subtract a number of units from a date/time value by specifying a negative value.

A função DateDiff retorna a diferença entre dois valores de data/hora.The DateDiff function returns the difference between two date/time values. O resultado é uma quantidade de unidades.The result is a number of units.

Para ambas as funções, as unidades podem ser Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos.For both functions, units can be Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Por padrão, ambas as funções usam Dias como unidades.By default, both functions use Days as units.

A função TimeZoneOffset retorna o número de minutos entre a hora local do usuário e a Hora Universal Coordenada (UTC).The TimeZoneOffset function returns the number of minutes between the user's local time and UTC (Coordinated Universal Time).

É possível usar o DateAdd com o TimeZoneOffset para converter entre o hora local do usuário e a Hora Universal Coordenada (UTC).You can use DateAdd with the TimeZoneOffset to convert between the user's local time and UTC (Coordinated Universal Time). A adição de TimeZoneOffset converterá a hora local para UTC e sua subtração (adicionando o negativo) converterá da UTC para a hora local.Adding TimeZoneOffset will convert a local time to UTC, and subtracting it (adding the negative) will convert from UTC to local time.

Consulte também Trabalhar com datas e horas para obter mais informações.Also see working with dates and times for more information.

SintaxeSyntax

DateAdd( DateTime, Adição [, Unidades ] )DateAdd( DateTime, Addition [, Units ] )

  • DateTime - obrigatório.DateTime - Required. Valor de data/hora no qual operar.Date/time value to operate on.
  • Adição - obrigatório.Addition - Required. O número, em Unidades, a ser adicionado ao DateTime.Number, in Units, to add to the DateTime.
  • Unidades - opcional.Units - Optional. Tipos de Unidades a serem adicionadas: Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos.The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Se não especificado, Dias serão usados.If not specified, Days are used.

DateDiff( StartDateTime, EndDateTime [, Unidades ])DateDiff( StartDateTime, EndDateTime [, Units ] )

  • StartDateTime - obrigatório.StartDateTime - Required. Valor de data/hora de início.Starting date/time value.
  • EndDateTime - obrigatório.EndDateTime - Required. Valor de data/hora de término.Ending date/time value.
  • Unidades - opcional.Units - Optional. Tipos de Unidades a serem adicionadas: Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos.The type of Units to add: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters, or Years. Se não especificado, Dias serão usados.If not specified, Days are used.

TimeZoneOffset( [ DateTime ] )TimeZoneOffset( [ DateTime ] )

  • DateTime – opcional.DateTime - Optional. O valor de data/hora para o qual a diferença será retornada.Date/time value for which to return the offset. Por padrão, a data/hora atual é usada.By default, the current date/time is used.

ExemplosExamples

Em todos esses exemplos, suponha que a data e hora atual é 15 de julho de 2013, 13:02.In all of these examples, assume that the current date and time is July 15, 2013, 1:02 PM.

DateAdd SimplesSimple DateAdd

FórmulaFormula DescriçãoDescription ResultadoResult
Text( DateAdd( Now(), 3 ),
"dd-mm-aaaa hh:mm" )
Text( DateAdd( Now(), 3 ),
"dd-mm-yyyy hh:mm" )
Adiciona três dias (unidades padrão) à data e hora atuais.Adds three days (default units) to the current date and time. "18-07-2013 13:02""18-07-2013 13:02"
Text( DateAdd( Now(), 4, Hours ),
"dd-mm-aaaa hh:mm" )
Text( DateAdd( Now(), 4, Hours ),
"dd-mm-yyyy hh:mm" )
Adiciona quatro horas à data e hora atuais.Add four hours to the current date and time. "15-07-2013 17:02""15-07-2013 17:02"
Text( DateAdd( Today(), 1, Months ),
"dd-mm-aaaa hh:mm" )
Text( DateAdd( Today(), 1, Months ),
"dd-mm-yyyy hh:mm" )
Adiciona um mês à data atual, sem hora, pois Hoje não retorna um componente de tempo.Adds one month to the current date, without time as Today doesn't return a time component. "15-08-2013 00:00""15-08-2013 00:00"
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-aaaa hh:mm" )
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-yyyy hh:mm" )
Subtrai 30 minutos da data e hora atuais.Subtracts 30 minutes from the current date and time. "15-07-2013 12:32""15-07-2013 12:32"

DateDiff SimplesSimple DateDiff

FórmulaFormula DescriçãoDescription ResultadoResult
DateDiff( Now(), DateValue("1/1/2014") )DateDiff( Now(), DateValue("1/1/2014") ) Retorna a diferença entre as duas unidades nas unidades padrão de DiasReturns the difference between the two units in the default units of Days 170170
DateDiff( Now(), DateValue("1/1/2014"), Months )DateDiff( Now(), DateValue("1/1/2014"), Months ) Retorna a diferença entre os dois valores em MesesReturns the difference between the two values in Months 66
DateDiff( Now(), Today(), Minutes )DateDiff( Now(), Today(), Minutes ) Retorna a diferença entre a data/hora atual e apenas a data atual (sem hora) em minutos.Returns the difference between the current date/time and the current date only (no time) in minutes. Como o Agora é posterior ao Hoje, o resultado será negativo.Since the Now is later than Today the result will be negative. -782-782

Converter para UTCConverting to UTC

Para converter para UTC, adicione o TimeZoneOffset à hora determinada.To convert to UTC (Coordinated Universal Time), add the TimeZoneOffset for the given time.

Por exemplo, imagine que a data e hora atual é 15 de julho de 2013, 13:02 no Horário de Verão do Pacífico (PDT, UTC-7).For example, imagine the current date and time is July 15, 2013, 1:02 PM in Pacific Daylight Time (PDT, UTC-7). Para determinar a hora atual em UTC, use:To determine the current time in UTC, use:

  • DateAdd( Now(), TimeZoneOffset(), Minutes )DateAdd( Now(), TimeZoneOffset(), Minutes )

O padrão de TimeZoneOffset é a hora atual, então não é necessário passar um argumento para ele.TimeZoneOffset defaults to the current time, so you don't need to pass it an argument.

Para ver o resultado, use a função Text com o formato dd-mm-aaaa hh:mm, que retornará 15-07-2013 20:02.To see the result, use the Text function with the format dd-mm-yyyy hh:mm, which will return 15-07-2013 20:02.

Converter do UTCConverting from UTC

Para converter de UTC, subtraia o TimeZoneOffset (adicionando negativa) para a hora determinada.To convert from UTC, subtract the TimeZoneOffset (by adding the negative) for the given time.

Por exemplo, imagine que a data e hora UTC 15 de julho de 2013, 20:02 está armazenada em uma variável chamada StartTime.For example, imagine the UTC date and time July 15, 2013, 8:02 PM is stored in a variable named StartTime. Para ajustar a hora para o fuso horário do usuário, use:To adjust the time for the user's time zone, use:

  • DateAdd( StartTime, -TimeZoneOffset( StartTime ), Minutes )DateAdd( StartTime, -TimeZoneOffset( StartTime ), Minutes )

Observe o sinal negativo antes de TimeZoneOffset para subtrair a diferença, em vez de adicioná-la.Note the negative sign before TimeZoneOffset to subtract the offset rather than add it.

Para ver o resultado, use a função Text com o formato dd-mm-aaaa hh:mm, o que resultará em 15-07-2013 13:02 se você estiver no Horário de Verão do Pacífico.To see the result, use the Text function with the format dd-mm-yyyy hh:mm, which will result in 15-07-2013 13:02 if you're in Pacific Daylight Time.