Função DateDiff

Devolve o número de intervalos entre duas datas.

Sintaxe

DateDiff(interval, date1, date2)

Argumentos:

  • Interval: Obrigatório. Expressão de string, que é o intervalo a ser usado para calcular as diferenças entre date1 e date2. Consulte a seção Configurações para ver os valores.
  • date1, date2: Obrigatórios. Expressões de data. Duas datas a serem usadas no cálculo.
Configurações: O argumento interval pode ter os seguintes valores:

Tabela 11-10 Valores do Argumento Interval

Configuração Descrição
yyyy Ano
q Trimestre
m Mês
d Day
w Dia da semana
h Hour
n Minute
s Second

Formatos de Data Suportados:

  • MM-DD-YYYY
  • MM/DD/YYYY
  • DD-MM-YYYY
  • DD/MM/YYYY
  • YYYY-MM-DD
  • YYYY/MM/DD

Formato de Hora Suportado:

hh:mm:ss

Comentários

Você pode usar a função DateDiff para determinar quantos intervalos de tempo especificados existem entre duas datas. Por exemplo, você pode usar DateDiff para calcular o número de dias entre duas datas.

Para calcular o número de dias entre date1 e date2, você pode usar Dia ("d"). Se date1 corresponder a uma data posterior a date2, a função DateDiff retornará um número negativo.

Ao comparar 31 de dezembro com 1º de janeiro do ano seguinte, DateDiff para Ano ("yyyy") retorna 1, mesmo que somente um dia tenha decorrido.

O exemplo a seguir usa a função DateDiff para exibir o número de dias entre determinada data e o dia atual:

Exemplo 1:

Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function

Exemplo 2:

Dim StartDate, EndDate, Difference
StartDate = "01/01/2025"
EndDate = "21/01/2025"
Difference = DateDiff("d", StartDate, EndDate) 
'Output: 20

Exemplo 3:

Dim StartDate, EndDate, Difference
StartDate = "01/01/2020"
EndDate = "01/01/2025"
Difference = DateDiff("yyyy", StartDate, EndDate) 
'Output: 5

Exemplo 4:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025"
EndDate = "21/03/2025" 
Difference = DateDiff("m", StartDate, EndDate)
'Output: 2

Exemplo 5:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 18:00:00"   ' Includes time component.
Difference = DateDiff("h", StartDate, EndDate) 
'Output: 10

Exemplo 6:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:00:00" ' Includes time component.
EndDate = "21/01/2025 08:45:00"   ' Includes time component.
Difference = DateDiff("n", StartDate, EndDate) 
'Output: 45

Exemplo 7:

Dim StartDate, EndDate, Difference
StartDate = "21/01/2025 08:45:00" ' Includes time component.
EndDate = "21/01/2025 08:45:50"   ' Includes time component.
Difference = DateDiff("s", StartDate, EndDate) 
'Output: 50