Adiciona ou encontra a diferença em valores de data/hora e converte entre a hora local e UTC.

Descrição

A função DateAdd adiciona um número de unidades a um valor de data/hora. O resultado é um novo valor de data/hora. Também é possível subtrair uma quantidade de unidades de um valor de data/hora especificando um valor negativo.

A função DateDiff retorna a diferença entre dois valores de data/hora. O resultado é uma quantidade de unidades.

Para ambas as funções, as unidades podem ser Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos. Por padrão, ambas as funções usam Dias como unidades.

A função TimeZoneOffset retorna o número de minutos entre a hora local do usuário e a Hora Universal Coordenada (UTC).

É possível usar o DateAdd com o TimeZoneOffset para converter entre o hora local do usuário e a Hora Universal Coordenada (UTC). 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.

Consulte também Trabalhar com datas e horas para obter mais informações.

Sintaxe

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

  • DateTime - obrigatório. Valor de data/hora no qual operar.
  • Adição - obrigatório. O número, em Unidades, a ser adicionado ao DateTime.
  • Unidades - opcional. Tipos de Unidades a serem adicionadas: Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos. Se não especificado, Dias serão usados.

DateDiff( StartDateTime, EndDateTime [, Unidades ])

  • StartDateTime - obrigatório. Valor de data/hora de início.
  • EndDateTime - obrigatório. Valor de data/hora de término.
  • Unidades - opcional. Tipos de Unidades a serem adicionadas: Milissegundos, Segundos, Minutos, Horas, Dias, Meses, Trimestres ou Anos. Se não especificado, Dias serão usados.

TimeZoneOffset( [ DateTime ] )

  • DateTime – opcional. O valor de data/hora para o qual a diferença será retornada. Por padrão, a data/hora atual é usada.

Exemplos

Em todos esses exemplos, suponha que a data e hora atual é 15 de julho de 2013, 13:02.

DateAdd Simples

Fórmula Descrição Resultado
Text( DateAdd( Now(), 3 ),
"dd-mm-aaaa hh:mm" )
Adiciona três dias (unidades padrão) à data e hora atuais. "18-07-2013 13:02"
Text( DateAdd( Now(), 4, Hours ),
"dd-mm-aaaa hh:mm" )
Adiciona quatro horas à data e hora atuais. "15-07-2013 17:02"
Text( DateAdd( Today(), 1, Months ),
"dd-mm-aaaa hh:mm" )
Adiciona um mês à data atual, sem hora, pois Hoje não retorna um componente de tempo. "15-08-2013 00:00"
Text( DateAdd( Now(), ‑30, Minutes ),
"dd-mm-aaaa hh:mm" )
Subtrai 30 minutos da data e hora atuais. "15-07-2013 12:32"

DateDiff Simples

Fórmula Descrição Resultado
DateDiff( Now(), DateValue("1/1/2014") ) Retorna a diferença entre as duas unidades nas unidades padrão de Dias 170
DateDiff( Now(), DateValue("1/1/2014"), Months ) Retorna a diferença entre os dois valores em Meses 6
DateDiff( Now(), Today(), Minutes ) Retorna a diferença entre a data/hora atual e apenas a data atual (sem hora) em minutos. Como o Agora é posterior ao Hoje, o resultado será negativo. -782

Converter para UTC

Para converter para UTC, adicione o TimeZoneOffset à hora determinada.

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). Para determinar a hora atual em UTC, use:

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

O padrão de TimeZoneOffset é a hora atual, então não é necessário passar um argumento para ele.

Para ver o resultado, use a função Text com o formato dd-mm-aaaa hh:mm, que retornará 15-07-2013 20:02.

Converter do UTC

Para converter de UTC, subtraia o TimeZoneOffset (adicionando negativa) para a hora determinada.

Por exemplo, imagine que a data e hora UTC 15 de julho de 2013, 20:02 está armazenada em uma variável chamada StartTime. Para ajustar a hora para o fuso horário do usuário, use:

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

Observe o sinal negativo antes de TimeZoneOffset para subtrair a diferença, em vez de adicioná-la.

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.