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

Adiciona ou localiza a diferença nos valores de data/hora e converte entre a hora local e a 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 pode subtrair um número de unidades a um valor de data/hora ao especificar 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 devolve a diferença entre dois valores de data/hora.The DateDiff function returns the difference between two date/time values. O resultado é um número de unidades.The result is a number of units.

Para ambas as funções, as unidades podem ser em 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 predefinição, ambas as funções utilizam os Dias como unidades.By default, both functions use Days as units.

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

Pode utilizar a função DateAdd com a TimeZoneOffset para converter entre a hora local do utilizador e a UTC (Hora Universal Coordenada).You can use DateAdd with the TimeZoneOffset to convert between the user's local time and UTC (Coordinated Universal Time). A adição da TimeZoneOffset converterá uma hora local em UTC e sua subtração (adição do negativo) converterá a UTC em hora local.Adding TimeZoneOffset will convert a local time to UTC, and subtracting it (adding the negative) will convert from UTC to local time.

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

SintaxeSyntax

DateAdd( DateTime, Addition [, Unidades ] )DateAdd( DateTime, Addition [, Units ] )

  • DateTime – Necessário.DateTime - Required. Valor data/hora a ser utilizado.Date/time value to operate on.
  • Addition – Necessário.Addition - Required. Número, em Unidades, a adicionar à DateTime.Number, in Units, to add to the DateTime.
  • Unidades – Opcional.Units - Optional. O tipo de Unidades a adicionar: 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 for especificado, são utilizados Dias.If not specified, Days are used.

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

  • StartDateTime – Necessário.StartDateTime - Required. Valor de data/hora de início.Starting date/time value.
  • EndDateTime – Necessário.EndDateTime - Required. Valor de data/hora de fim.Ending date/time value.
  • Unidades – Opcional.Units - Optional. O tipo de Unidades a adicionar: 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 for especificado, são utilizados Dias.If not specified, Days are used.

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

  • DateTime – Opcional.DateTime - Optional. Valor de data/hora cujo desvio deve ser devolvido.Date/time value for which to return the offset. Por predefinição, é utilizada a data/hora atual.By default, the current date/time is used.

ExemplosExamples

Em todos estes exemplos, vamos assumir 15 de julho de 2013, 13:02 como data e hora atuais.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 predefinidas) à 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, Horas),
"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, Meses ),
"dd-mm-aaaa hh:mm")
Text( DateAdd( Today(), 1, Months ),
"dd-mm-yyyy hh:mm" )
Adiciona um mês à data atual, sem hora, já que Hoje não devolve nenhum componente de hora.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, Minutos ),
"dd-mm-aaaa hh:mm")
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-yyyy hh:mm" )
Subtrai 30 minutos à 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") ) Devolve a diferença entre as duas unidades nas unidades de Dias predefinidasReturns the difference between the two units in the default units of Days 170170
DateDiff( Now(), DateValue("1/1/2014"), Meses )DateDiff( Now(), DateValue("1/1/2014"), Months ) Devolve a diferença entre os dois valores em MesesReturns the difference between the two values in Months 66
DateDiff( Now(), Today(), Minutos )DateDiff( Now(), Today(), Minutes ) Devolve a diferença entre a data/hora atual e a data atual apenas (não hora) em minutos.Returns the difference between the current date/time and the current date only (no time) in minutes. Uma vez que Now é posterior a Today, o resultado será negativo.Since the Now is later than Today the result will be negative. -782-782

Converter em UTCConverting to UTC

Para converter em UTC (Hora Universal Coordenada), adicione TimeZoneOffset para o período de tempo especificado.To convert to UTC (Coordinated Universal Time), add the TimeZoneOffset for the given time.

Por exemplo, imagine que a atual data e hora é 15 de julho de 2013, 13:02 na Hora 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, utilize:To determine the current time in UTC, use:

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

TimeZoneOffset está predefinido para a hora atual, por isso não terá de o transmitir como argumento.TimeZoneOffset defaults to the current time, so you don't need to pass it an argument.

Para ver o resultado, utilize a função Text com o formato dd-mm-aaaa hh:mm, que irá devolver 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 da UTCConverting from UTC

Para converter da UTC, subtraia o TimeZoneOffset (ao adicionar o negativo) para o período de tempo especificado.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 é armazenada numa variável designada 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 ao fuso horário do utilizador, utilize:To adjust the time for the user's time zone, use:

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

Tenha em atenção o sinal negativo antes do TimeZoneOffset para subtrair o desvio em vez de o adicionar.Note the negative sign before TimeZoneOffset to subtract the offset rather than add it.

Para ver o resultado, utilize a função Text com o formato dd-mm-aaaa hh:mm, o que irá resultar em 15-07-2013 13:02 se estiver na Hora 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.