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