VBA - Função DateDiff

Uma função, que retorna a diferença entre dois intervalos de tempo especificados.

Sintaxe

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

Descrição do Parâmetro

  • Interval- Um parâmetro obrigatório. Pode assumir os seguintes valores.

    • d - dia do ano

    • m - mês do ano

    • y - ano do ano

    • aaaa - ano

    • w - dia da semana

    • ww - semana

    • q - quarto

    • h - hora

    • m - minuto

    • s - segundo

  • Date1 e Date2 - Parâmetros necessários.

  • Firstdayofweek- Um parâmetro opcional. Especifica o primeiro dia da semana. Pode assumir os seguintes valores.

    • 0 = vbUseSystemDayOfWeek - Usar configuração de API de suporte ao idioma nacional (NLS)

    • 1 = vb Domingo - Domingo

    • 2 = vb segunda-feira - segunda-feira

    • 3 = vb terça - terça

    • 4 = vbQuarta - Quarta

    • 5 = vb quinta-feira - quinta-feira

    • 6 = vbFriday - Friday

    • 7 = vb Sábado - Sábado

  • Firstdayofyear- Um parâmetro opcional. Especifica o primeiro dia do ano. Pode assumir os seguintes valores.

    • 0 = vbUseSystem - Usar configuração de API do National Language Support (NLS)

    • 1 = vbFirstJan1 - começa com a semana em que ocorre 1º de janeiro (padrão)

    • 2 = vbFirstFourDays - começa com a semana que tem pelo menos quatro dias no ano novo

    • 3 = vbFirstFullWeek - Comece com a primeira semana inteira do novo ano

Exemplo

Adicione um botão e adicione a seguinte função.

Private Sub Constant_demo_Click()
   Dim fromDate as Variant
   fromDate = "01-Jan-09 00:00:00"
   
   Dim toDate as Variant
   toDate = "01-Jan-10 23:59:00"
   
   msgbox("Line 1 : " &DateDiff("yyyy",fromDate,toDate))
   msgbox("Line 2 : " &DateDiff("q",fromDate,toDate))
   msgbox("Line 3 : " &DateDiff("m",fromDate,toDate))
   msgbox("Line 4 : " &DateDiff("y",fromDate,toDate))
   msgbox("Line 5 : " &DateDiff("d",fromDate,toDate))
   msgbox("Line 6 : " &DateDiff("w",fromDate,toDate))
   msgbox("Line 7 : " &DateDiff("ww",fromDate,toDate))
   msgbox("Line 8 : " &DateDiff("h",fromDate,toDate))
   msgbox("Line 9 : " &DateDiff("n",fromDate,toDate))
   msgbox("Line 10 : "&DateDiff("s",fromDate,toDate))
End Sub

Quando você executa a função acima, ela produz a seguinte saída.

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340